Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySQL最新驱动com.mysql.cj.jdbc.Driver及配置

MySQL最新驱动com.mysql.cj.jdbc.Driver及配置过程

作者:Stackflowed

这篇文章主要介绍了MySQL最新驱动com.mysql.cj.jdbc.Driver及配置过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

MySQL最新驱动com.mysql.cj.jdbc.Driver及配置

当前我使用的是mysql-connector-java:8.0.18版本,MySQL6之后的版本都是要指定时区serverTimezone的:

spring:
  datasource:
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.0.100:3306/easyexcel?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false
    username: root
    password: 123456
    validationQuery: select 1

`com.mysql.cj.jdbc.Driver`和`com.mysql.jdbc.Driver`区别及时区问题

问题原因

在日常使用MySQL连接数据库的时候,使用了很久的 com.mysql.jdbc.Driver 系统对此竟然提出了警告:

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.
加载类“com.mysql.jdbc.Driver”。
这是弃用的。
新的驱动类是' com.mysql.cj.jdbc.Driver'。
驱动程序是通过SPI自动注册的,手动加载驱动程序类通常是不必要的。

然后就很好奇,为什么一个使用了这么久的驱动,编译器竟然会给我们报一个警告

查阅资料发现,这是在使用maven导包的时候引发的不同

在以前使用 com.mysql.jdbc.Driver 的时候,导入的是 mysql-connector-java 5

现在使用 com.mysql.cj.jdbc.Driver 的时候,导入的是 mysql-connector-java 8

mysql-connector-java 5 以后的版本中(不包括5) 使用的都是 com.mysql.cj.jdbc.Driver

常见错误

1.时区设置:

jdbc:mysql://localhost:3306/Mybatis_db?serverTimezone=Asia/Shanghai

2. SSL – Secure Sockets Layer(安全套接层)

useSSL=true 开启

3. 编码问题

#在和mysql传递数据的过程中,使用unicode编码格式,并且字符集设置为utf-8
url=jdbc:mysql://127.0.0.1:3306/Mybatis_db?useUnicode=true&characterEncoding=utf-8

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文