更新驱动到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-java
5.X的版本驱动名是:com.mysql.jdbc.Driver
; 6.X及以上版本的驱动名是:com.mysql.cj.jdbc.Driver