使用springboot最新版本mysql-Connector连接数据库时提示Loading class `com.mysql.jdbc.Driver'. This is deprecated
Posted king西阳
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用springboot最新版本mysql-Connector连接数据库时提示Loading class `com.mysql.jdbc.Driver'. This is deprecated相关的知识,希望对你有一定的参考价值。
在连接数据库时,使用了最新版本的mysql-Connector,即6.0以上版本
1、报错如下:
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.
解决方法:
将 jdbc.driverClassName=com.mysql.jdbc.Driver 修改为
jdbc.driverClassName=com.mysql.cj.jdbc.Driver
2、报错如下:
com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value ‘Öйú±ê׼ʱ¼ä‘ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_60] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_60] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_60] at java.lang.reflect.Constructor.newInstance(Constructor.java:422) ~[na:1.8.0_60]
解决方式:
在jdbc连接url中加入属性serverTimezone,即需要指定时区。例如:
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk&useSSL=true
&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Hongkong
serverTimezone只是扩展:
1、选择东8区的Hongkong、Asia/Shanghai或者Asia/Hongkong作为参数
2、serverTimezone=GMT%2B8表示北京时间
以上是关于使用springboot最新版本mysql-Connector连接数据库时提示Loading class `com.mysql.jdbc.Driver'. This is deprecated的主要内容,如果未能解决你的问题,请参考以下文章
使用springboot最新版本mysql-Connector连接数据库时提示Loading class `com.mysql.jdbc.Driver'. This is deprecated
将 Spring Boot 应用程序迁移到最新的 Java 版本 (Java 15)
Spring Cloud 升级最新 Finchley 版本,踩了所有的坑!