背景
因為項目需要國產數據庫的支持,選擇了達夢數據庫,由于我們之前使用的是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函數