最近使用maven框架学习原生JDBC时遇到了如下错误:
Exception in thread "main" java.sql.SQLException: 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.
查询资料后发现导致报错的原因是使用的MySql驱动版本过高导致的,如下:
最终的解决办法有两种:
①降低使用的MySql驱动版本
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
②如果必须使用高版本驱动的话,在使用驱动管理器获取连接对象的数据库地址中加入serverTimezone=UTC
Connection connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/batistest?serverTimezone=UTC&characterEncoding=utf8",
"root",
"root");