背景
因为项目需要国产数据库的支持,选择了达梦数据库,由于我们之前使用的是MySQL今天我们就来说一说,如何快速的切换到达梦数据库,原本这一章我打算写VIP章节的后续想想,就纯分享。毕竟是国产数据库
迁移数据库
这里的话,我就不细说安装和迁移数据库的具体操作的,达梦自带的迁移工具就能迁移,比较简单。
客户端连接工具的话,我使用的是SQLark百灵连接
地址如下:
SQLark百灵连接
程序适配
说一下之前使用的框架
springboot+mybatis-plus+mysql
驱动选择
我们是使用java语言,所以就选择jdbc驱动
大家根据自己的要求进行选择
这里我选择的是:DmJdbcDriver8.jar
没有的话 这里进行下载:
go、java、python等语言的达梦数据库驱动
驱动引入
我们DmJdbcDriver8.jar 把放到项目的lib文件下面,如果没有lib目录就新创建一个
pom文件 更改
我们在pom.xml中在dependencies中增加引入
<dependency><groupId>com.dm</groupId><artifactId>DmJdbcDriver18</artifactId><version>1.8</version><scope>system</scope><systemPath>${project.basedir}/lib/DmJdbcDriver8.jar</systemPath></dependency>
然后在build下的plugins下的plugin的configuration中增加下面一句
<includeSystemScope>true</includeSystemScope>
如:
配置更改
在application.properties文件中
更改数据库配置
spring.datasource.url=jdbc:dm://xx.xx.xx.xx:5237/xx?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true
spring.datasource.username=SYSDBA
spring.datasource.password=xxx
spring.datasource.driver-class-name=dm.jdbc.driver.DmDriver
如果遇到druid过滤器报错
在application.properties文件中 加上这2个配置
spring.datasource.druid.filters=stat,log4j
spring.datasource.druid.filter.wall.enabled=false
然后就可以启动项目验证了。
遇到的问题
数据库user表关键字
有个表因为历史遗留问题,表名叫user,是达梦数据库的保留字段。
我把user表修改成sys_user就可以了。
达梦数据库中没有GROUP_CONCAT函数
我把GROUP_CONCAT函数 修改成了LISTAGG函数