关于Mysql-connector-java驱动版本问题总结

2022-05-15 0 1,095

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对应版本

关于Mysql-connector-java驱动版本问题总结

由于我的是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驱动版本问题总结

鉴于以上,对于初学的小伙伴还是直接用mysql-connector-java 8.0 以上

以上就是Mysql-connector-java驱动版本问题的详细内容,更多关于Mysql connector java驱动的资料请关注NICE源码其它相关文章!

免责声明:
1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与www.niceym.com无关。
如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。
如有侵犯你版权的,请邮件与我们联系处理(邮箱:skknet@qq.com),本站将立即改正。

NICE源码网 MySql 关于Mysql-connector-java驱动版本问题总结 https://www.niceym.com/37831.html