使用MySQL的jdbc 6.0以上版本时,主要遇到过以下几个问题:
1、需要用新的驱动
mysql-connector-java-XXX,版本在6.0以上,要用新驱动 com.mysql.cj.jdbc.Driver。
使用时:driver的属性值要从com.mysql.jdbc.Driver改为com.mysql.cj.jdbc.Driver
由于驱动会自动加载,代码中可以去掉Class.forName(driver)
2、需要添加时区信息
连接的URL中需要添加serverTimezone属性,设置时区值:
"jdbc:mysql://localhost:3306/test_db?serverTimezone=Asia/Shanghai"
关于设置时区,更多详情请参考另一篇文章:jdbc连接MysQL数据库时报错:The server time zone value ‘ ‘ is unrecognized or represents more than_WeDonC的博客-CSDN博客
3、需要添加useSSL属性,即关于SSL连接的问题
需要在URL后面添加useSSL属性,并设置为false
"jdbc:mysql://localhost:3306/test_db?useSSL=false"
最后,完整的URL:
"jdbc:mysql://localhost:3306/test_db?useSSL=false&serverTimezone=Asia/Shanghai"