在连接数据库时,使用了最新版本的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表示北京时间