关于Mysql-connector-java驱动版本问题总结
mysql-connector-java驱动版本问题
由于我的数据库版本是5.7.28 ,在使用java连接mysql时经常出现版本问题。
-
com.mysql.jdbc.driver
是 mysql-connector-java 5中的, -
com.mysql.cj.jdbc.driver
是 mysql-connector-java 6中的
不推荐不使用服务器身份验证来建立ssl连接。
如果未明确设置,mysql 5.5.45+, 5.6.26+ and 5.7.6+版本默认要求建立ssl连接。
为了符合当前不使用ssl连接的应用程序,verifyservercertificate属性设置为'false'。
如果你不需要使用ssl连接,你需要通过设置usessl=false来显式禁用ssl连接。
如果你需要用ssl连接,就要为服务器证书验证提供信任库,并设置usessl=true。
ssl – secure sockets layer(安全套接层)
loading class `com.mysql.jdbc.driver'. this is deprecated. the new driver class is com.mysql.cj.jdbc.driver'. the driver is automatically registered via the spi and manual loading of the driver class is generally unnecessary.
报错原因:
mysql5用的驱动url是com.mysql.jdbc.driver,mysql6以后用的是com.mysql.cj.jdbc.driver。版本不匹配便会报驱动类已过时的错误。
解决方法:
更改配置文件中的驱动类名字就可以消除驱动类过时的警告了。
mysql5.7.28版本即使改了驱动名为com.mysql.cj.jdbc.driver也还是会报错,原因在于没有将pom项目对象模型文件中版本改成
mysql-connector-java8.0以上
mysql-connector-java与mysql对应版本
由于我的是mysql5.7.28 使用connector-java version 5.1的版本,还是会出现上面的报错。因此在mysql5.6以上使用connector-java 8.0以上,
而且在使用时需要对时区进行设置
driverclassname=com.mysql.cj.jdbc.driver
url=jdbc:mysql://localhost:3306/数据库名?servertimezone=asia/shanghai&useunicode=true&characterencoding=utf8&usessl=false
username=root
password=
此处的servertimezone一定得写servertimezone=asia/shanghai,写成servertimezone=shanghai也会报错,貌似是找不到shanghai这个时区,可能是全球的shanghai不止一个,哈哈!
mysql-connector-java与java对应版本
鉴于以上,对于初学的小伙伴还是直接用mysql-connector-java 8.0 以上
以上就是mysql-connector-java驱动版本问题的详细内容,更多关于mysql connector java驱动的资料请关注其它相关文章!
推荐阅读
-
关于惠普cq40-422tx声卡驱动安装的问题
-
关于PHP5.6+版本“No input file specified”问题的解决
-
关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
-
关于惠普cq40-422tx声卡驱动安装的问题
-
关于Pycharm无法debug问题的总结
-
关于ajax对象一些常用属性、事件和方法大小写比较常见的问题总结
-
关于MySQL自增ID的一些小问题总结
-
一键搞定python连接mysql驱动有关问题(windows版本)
-
mysql 8.0.18各版本安装及安装中出现的问题(精华总结)
-
关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法