Spring Boot项目中使用MyBatis连接达梦数据库6

在开发中,使用Spring Boot框架结合MyBatis来操作数据库是一种常见的做法。本篇博客将介绍如何在Spring Boot项目中配置MyBatis来连接达梦数据库6,并提供一个简单的示例供参考。(达梦六不仅分表还分模式.) 我拿SYSTEM表的LPS模式下面Student表做案例。

1. 添加依赖

首先,我们需要在pom.xml文件中添加相关依赖:

java 复制代码
        <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.0</version>
        </dependency>

        <!--  添加dm6 jdbc jar 包依赖-->
        <dependency>
            <groupId>com.github.tianjing</groupId>
            <artifactId>Dm6JdbcDriver</artifactId>
            <version>1.0.0</version>
        </dependency>

2. 配置数据源、配置MyBatis

接下来,我们需要在application.yml文件中配置数据源信息:

bash 复制代码
spring:
  datasource:
    url: jdbc:dm6://localhost:12345/SYSTEM
    username: SYSDBA
    password: 密码自己写啦
    driver-class-name: dm6.jdbc.driver.DmDriver
    hikari:
      connection-test-query: select 1

mybatis:
  mapper-locations: classpath:/mappers/*.xml  # 修改为你的 MyBatis XML 映射文件路径
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl


server:
  # 服务器的HTTP端口
  port: 8081
  servlet:
    # 应用的访问路径
    context-path: /

3. 编写Mapper接口和SQL映射文件

src/main/resources目录下创建mappers文件夹,用于存放MyBatis的SQL映射文件。然后,编写Mapper接口和SQL映射文件,示例如下:

复制代码
@Mapper
public interface StudentMapper {
    List<Student> selectList();
}
bash 复制代码
    <select id="selectList" resultType="com.lps.domain.Student">
        select
        <include refid="Base_Column_List" />
        from LPS.STUDENT
    </select>

4. 编写Controller(偷懒没写service)

最后,编写相应的Controller层代码,调用Mapper接口执行数据库操作,并提供API接口供外部调用。

java 复制代码
@RestController
public class StudentController {
    @Autowired(required = false)
    StudentMapper studentMapper;
//增删改同理....
    @RequestMapping("/list")
    public String list() {
        List<Student> students = studentMapper.selectList();
        return students.toString();
    }
}

5、网页访问

总结

通过本文的介绍,我们学习了如何在Spring Boot项目中使用MyBatis连接达梦数据库6。首先,我们添加了必要的依赖项,然后配置了数据源和MyBatis,并编写了Mapper接口和SQL映射文件。最后,我们编写了Controller层代码来调用Mapper接口执行数据库操作,并提供API接口供外部调用。

报错注意事项

Servlet.service() for servlet dispatcherServlet in context with path \[\] threw exception Handler dispatch failed; nested exception is java.lang.AbstractMethodError: Method dm6/jdbc/driver/DmdbPreparedStatement.isClosed()Z is abstract with root cause

java.lang.AbstractMethodError: Method dm6/jdbc/driver/DmdbPreparedStatement.isClosed()Z is abstract

相关推荐
IvorySQL5 小时前
PostgreSQL 日报 | JOIN 与外键优化(8 月 9 日)
数据库·postgresql
ltl6 小时前
自治数据库十年回顾:Peloton、NoisePage、OtterTune 到云原生 auto-tuning
数据库
灯澜忆梦7 小时前
【MySQL10】进阶篇 | 索引_#2性能优化
数据库·sql·mysql·性能优化
C++ 老炮儿的技术栈9 小时前
从 Qt Designer 属性编辑器的层级可以看到继承链
c语言·数据库·c++·qt·sqlite·visual studio
MC皮蛋侠客9 小时前
Redis 系列(一):全景与最小闭环——从 `SET` 命令到内存数据结构
数据结构·数据库·redis
zt1985q10 小时前
本地部署开源网络书签与内容管理工具 Karakeep 并实现外部访问
运维·服务器·网络·数据库·网络协议·开源
IvorySQL11 小时前
PostgreSQL 日报| PostgreSQL 19 默认 WAL 压缩算法(8 月 8 日)
数据库·postgresql·区块链
油丶酸萝卜别吃12 小时前
MySQL B+ 树查询全过程详解
数据库·mysql
leisoo809712 小时前
股票数据本地化存储实战:JSON、数据库与列式存储的方案对比
jvm·数据库·json
Exclusive_Cat12 小时前
MySQL回表机制解析与优化策略
数据库·sql