更新驱动到mysql-connector-java-8遇到的一些问题

更新驱动到mysql-connector-java-8遇到的一些问题

问题

POM

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.16</version>
</dependency>

application.properties

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

项目是SpringBoot构建的,数据库版本是:MySQL5.7,用了mysql-connector-java-8来链接数据库,application.properties也配置成spring.datasource.driver-class-name=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自动注册驱动程序,通常不需要手动加载驱动程序类。

解决

根据提示,解决方法有两种:

  • 更改application.properties文件
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
//改成下面这样
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
  • 去掉application.properties文件中的spring.datasource.driver-class-name,因为它说会通过SPI自动注册的;

问题二

描述

数据库的数据时间总是和实际时间差8个小时

解决

在数据库url添加serverTimezone=GMT%2B8

spring.datasource.url=jdbc:mysql://10.25.0.01:3307/db?useUnicode=true&autoReconnect=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8

总结

mysql-connector-java5.X的版本驱动名是:com.mysql.jdbc.Driver; 6.X及以上版本的驱动名是:com.mysql.cj.jdbc.Driver