mysql数据库转为达梦数据库
我的项目是SSM+mybatis-plus+durid
安装达梦数据库
可以去达梦的官网下载达梦数据并安装
达梦自带管理工具,模式便是数据库
将mysql数据迁移到达梦
达梦自带迁移工具,迁移教程参考
注意:达梦的精度和mysql的精度不一样,遇到精度问题可以修改达梦的精度再重新迁移出错的表
配置java项目连接达梦
切换数据连接驱动
db.driverClass=dm.jdbc.driver.DmDriver
db.jdbcUrl=jdbc:dm://localhost:5236/XXX?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
db.user=root
db.password=root
下载驱动包,放到指定目录,然后在pom文件里面指定这个jar包所在目录
<dependency>
<groupId>com.DmJdbcDriver17</groupId>
<artifactId>DmJdbcDriver17</artifactId>
<scope>system</scope>
<version>1.0</version>
<systemPath>${project.basedir}/src/main/webapp/lib/Dm7JdbcDriver17.jar</systemPath>
</dependency>
报错信息1:
java.sql.SQLException: dm.jdbc.driver.DmDriver
at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:600)
由于 system 打包的时候并不会引入,启动会报错,检查是否是驱动包找不到
我这边是上传到私服后重新引入的,也可以使用这种方式,我没试过
报错信息2:
dbType not support : dm, url jdbc:dm://localhost:5236/XX
则是配置了防火墙,去掉防火墙配置,去掉wall
xml文件里面查看是否有wall配置
<property name="filters" value="wall,mergeStat" />
mybatis-plus更新版本
参考mybatis-plus官网 https://baomidou.com/
看下更新日志 v3.0-RELEASE 版本才支持达梦数据库
druid 连接池 1.1.20以后版本才支持达梦数据库
mybatis-spring版本升级2.0.5
报错信息3:jar冲突
https://www.cnblogs.com/linyb-geek/p/13299030.html
不要加载mybatis-plus-extension 这个里面的mybatis-spring为1.3.2版本过低
<dependency>
<groupId>com.DmJdbcDriver18</groupId>
<artifactId>DmJdbcDriver18</artifactId>
<scope>system</scope>
<version>1.0</version>
<systemPath>${project.basedir}/src/main/webapp/lib/Dm7JdbcDriver18.jar</systemPath>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.4.0</version>
</dependency>
<!-- <dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
<version>3.4.0</version>
</dependency> -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.24</version>
</dependency>
报错信息4:
nested exception is org.activiti.engine.ActivitiException: couldn't deduct database type from database product name 'DM DBMS'
这是因为我使用了工作流 会报这个错误
解决参考:
https://blog.csdn.net/u010704614/article/details/108031483
https://www.cnblogs.com/cnsec/p/13286592.html
修改sql语法
mysql和达梦数据库的区别参考:
https://www.cnblogs.com/fanblogs/p/12836849.html
我上传的学习资料,需要安装包的私聊找我
https://download.csdn.net/download/qq_34187522/12915882
达梦数据库默认是大小写敏感的,当mysql转到达梦之后就会表名都改为大写了