爬坑
一套老系统(12年的),用的hibernate3 连接的mysql5,现在要改连mysql8
记录
老系统啥也没替换,直接连mysql8,提示
org.hibernate.util.JDBCExceptionReporter - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'rank=9, upload_total=39, upload_size=39, upload_date='2012-03-05', is_admin=1, i' at line 1
以为是什么驱动问题、方言…最后才发现,就是有字段用到了关键字 比如 rank,mysql5没有限制,MySQL8有限制。
在配置文件改
<property column="[rank]">
重启,系统进去了。
其他配置:
- url: jdbc:mysql://192.168.0.201:3306/exam?characterEncoding=UTF-8&useSSL=false
- 方言:hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
- mysql-connector-5.1.8.jar
- mysql8.0.28
- bonecp (还是查了才知道这个)
中间也照着网上去替换mysql-connect-java ,改方言,其实在最初,系统已经告诉我问题在哪了,自己记录一下
本文记录了一套使用Hibernate3的老系统升级到MySQL8时遇到的问题。主要难点在于MySQL8对某些关键字(如rank)的限制,而MySQL5则没有。通过修改配置文件,包括更改URL参数、方言设置以及更新数据库驱动,最终成功解决连接问题。

6385

被折叠的 条评论
为什么被折叠?



