注:部分内容为网上查找的,如有侵权,请联系我
最近换了台电脑,安装数据库的时候选了最新的8.0.12版本,今天用Java连接的时候遇到一些问题,记录下来。
注:使用gradle 整合springboot + mybatis 项目
之前一直使用的都是5.6的MySQL,所以选择连接的时候也就下意识的使用了5.x版本的连接,如下:
然后测试的时候就报错了
一查说是连接版本问题。于是升级到最新的8.0.12,又出问题了:
再一查,原来新版的驱动配置有些变化:
1. url连接必须设置时区
MySQL Connector/J 5.x (旧版连接)
#jdbc.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
MySQL Connector/J 6.x (新版连接)
jdbc.url=jdbc:mysql:///test?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
说明: 新版驱动url默认地址为127.0.0.1:3306,所以访问本机mysql数据库地址可以用 /// 表示。
注意:这个版本 写入数据时,会自动根据 传入时间的时区 和 MySQL的时区,自动把时间进行调整
2. 新的驱动类位置有了变化(不影响使用,但会报警告)
MySQL Connector/J 5.x (旧版驱动) jdbc.driver_class=com.mysql.jdbc.Driver
MySQL Connector/J 6.x (新版驱动) jdbc.driver_class=com.mysql.cj.jdbc.Driver