创建springboot框架创建SSM项目。发现无法获取数据库内容,报错如下:
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.
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
###Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is 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.
###The error may exist in file [D:\sss\mysprintbootall\sprint-boot-parent\sprint-boot-user\target\classes\mappers\userMapper.xml]
###The error may involve com.zb.mapper.userMaper.queryUserById
###The error occurred while executing a query
###Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is 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.
问题造成的原因是:
spring-boot -starter-parent 1.5.9.RELEASE 和 2.2.5.RELEASE 依赖的mysql-connect-java的版本不同。2.2.5版本的mysql-connect的版本超过6.0。
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.2.5.RELEASE</version>
</parent>
针对超过6.0的版本。配置application.properties
的文件,有几点不同:
-
datasource.driver-class
不是com.mysql.jdbc.Driver
而是 com.mysql.cj.jdbc.Driver . - 在连接数据库的url后面,要添加一个
servertime=
server.port=8080
#server.servlet.context-path=/spring-boot-user
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/zb_database?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
mybatis.mapper-locations=classpath:mappers/*.xml
原文:springboot工程无法连接数据库 The server time zone value ‘�й���ʱ��‘ is unrecognized or represents..._周小西zxx的博客-CSDN博客
作者: 周小西zxx