Spring Boot 配置数据库是出现了以下的异常:
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.1)查看数据库的版本:查看pom文件
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>2)点击 <artifactId>mysql-connector-java</artifactId> 继续查看版本
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> <exclusions> <exclusion> <artifactId>protobuf-java</artifactId> <groupId>com.google.protobuf</groupId> </exclusion> </exclusions> </dependency>3)点击 <version>${mysql.version}</version> 查看版本
<mysql.version>8.0.18</mysql.version>这是由于mysql 6.0.2 版本以上会出现 数据库和系统时区差异
解决方案一:更改mysql版本
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.48</version> </dependency>注意在添加这个版本的时候需要更改yml文件中的信息:
driver-class-name: com.mysql.jdbc.Driver解决方式二:添加时区
下面在pom文件中使用默认的mysql驱动。
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>在application.yml 文件中添加
1)在 6.0.x 版本以上都需要添加。
driver-class-name: com.mysql.cj.jdbc.Driver2)在自己所要查询的数据中添加:
url: jdbc:mysql://localhost:3306/springdb?serverTimezone=UTC注意:但是添加这个之后,会出现添加数据时依然存在时区问题,所以需要更改成为以下代码
url: jdbc:mysql://localhost:3306/springdb?serverTimezone=Asia/Shanghai