最近在做一个政府项目,由于项目之前使用的 MySQL 数据库,为了适配国产化,需要将 MySQL 换成 达梦数据库(DM),本次我选择了达梦数据库8(DM8),以下是切换过程
写在前面
关于SpringBoot 中整合 MyBatisPlus 可以参考我之前的博客 【SpringBoot】廿六、SpringBoot中整合MyBatis-Plus
一、引入达梦数据库驱动
与 MySQL 同样如此,也需要驱动包来连接 MySQL,只不过 SpringBoot 对 MySQL 做了集成,没有对达梦数据库做集成,所以,我们需要自己引入驱动包,这个驱动包通过 maven 仓库是下载不了的
由于我们之前是安装了达梦数据库(DM8)的,然后我们在其安装目录下是可以找到驱动包的
D:\dmdbms\drivers\jdbc
安装包在此目录下,如图所示:
这三个驱动包分别对应的是 JDK 的版本,我用的是 JDK 1.8 的,所以我选择的是 DmJdbcDriver18.jar 驱动包,将其放在 resources\lib\ 目录下
然后我们在 pom.xml 文件中,引入该文件
<!-- 达梦数据库驱动 --><dependency><groupId>com.dm</groupId><artifactId>DmJdbcDriver18</artifactId><version>1.8</version><scope>system</scope><systemPath>${project.basedir}/src/main/resources/lib/DmJdbcDriver18.jar</systemPath></dependency>
二、配置达梦数据库信息
与 MySQL 一样,我们也需要配置达梦数据的连接信息,在 application.yml 文件中,配置信息如下:
spring:# Mysql配置datasource:driver-class-name: dm.jdbc.driver.DmDriverurl: jdbc:dm://127.0.0.1:5236/TEST?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useSSL=true&characterEncoding=UTF-8# springboot2.0整合了hikari ,据说这是目前性能最好的java数据库连接池hikari:username: SYSDBApassword: SYSDBAidle-timeout: 60000maximum-pool-size: 30minimum-idle: 10max-lifetime: 30000connection-test-query: SELECT 1
与 MySQL 配置信息不同如下:
driver
之前:com.mysql.cj.jdbc.Driver
现在:dm.jdbc.driver.DmDriver
url
之前:jdbc:mysql://127.0.0.1:3306/test?
现在:jdbc:dm://127.0.0.1:5236/TEST?
username
之前:root
现在:SYSDBA
password
之前:123456
现在:SYSDBA
然后在项目中的使用和 MySQL 完全一致
三、自定义 SQL 语句
我们在 xml 文件中自己写的 SQL 语句和 MySQL 有些不同,因为达梦数据库是由 Oracle 而来的,在语法上参照 Oracle 语法即可,我说一个我在使用中遇到的错误吧:
MySQL 语句:
SELECTid,`name`,sex,`status`,create_time FROMsys_user_info
DM8 语句:
SELECTID,NAME,SEX,STATUS,CREATE_TIMEFROMSYS_USER_INFO
也就是说,在达梦数据库中写 SQL 语句对于 name,status 这种关键字上,不需要加引号,否则会报错
MyBatisPlus 针对达梦数据库默认会将表名和列名大写,所以我们不需要做任何改变,即可切换达梦数据库
如您在阅读中发现不足,欢迎留言!!!
如果觉得《达梦(DM)4 SpringBoot集成MyBatisPlus+达梦数据库(DM)》对你有帮助,请点赞、收藏,并留下你的观点哦!