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

相关推荐
zh1570233 小时前
JavaScript中WorkerThreads解决服务端计算瓶颈
jvm·数据库·python
代码AI弗森3 小时前
一文理清楚“算力申请 / 成本测算 / 并发评估”
java·服务器·数据库
Java开发的小李3 小时前
SpringBoot + Redis 实现分布式 Session 共享(解决多实例登录状态丢失问题)
spring boot·redis·分布式
摇滚侠4 小时前
expdp 查看帮助
java·数据库·oracle
流年似水~4 小时前
MCP协议实战:从零搭建一个让Claude能“看见“数据库的工具服务
数据库·人工智能·程序人生·ai·ai编程
2401_871492854 小时前
Vue.js监听器watch利用回调函数处理级联下拉框数据联动
jvm·数据库·python
志栋智能5 小时前
超自动化安全:构建智能安全运营的核心引擎
大数据·运维·服务器·数据库·安全·自动化·产品运营
zhoutongsheng5 小时前
C#怎么实现Swagger文档 C#如何在ASP.NET Core中集成Swagger自动生成API文档【框架】
jvm·数据库·python
WinterKay6 小时前
【开源】我写了一个轻量级本地数据库浏览工具,支持 MySQL/Redis 只读查询
数据库·mysql·开源
阿丰资源6 小时前
SpringBoot+Vue实战:打造企业级在线文档管理系统
vue.js·spring boot·后端