一.踩坑原因
在学习spring boot 整合 mybatis-gegerator 的过程中遇到以下报错:
The server time zone value ‘�й���ʱ��’ is unrecognized or represents more than one time zone.
二.踩坑之前
我用的MySQL服务器是8.0.20的,我的驱动用的8.0.19的,datasource配置如下:
spring:
datasource:
url: jdbc:mysql://localhost:3306/study
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
由于服务器版本过高,所以class-name 里用加cj的。
三.报错原因
经过网上冲浪,了解到大致原因就是 MySQL服务器启动时默认 服务时区为SYSTEM为全球协调时间,Java里取得是本地时间,也就是东八区,这就造成了8个小时时差,大概就是这样具体细节自行查找。

四.解决过程
经过我一顿搜索找到了以下几种方案:
方案一
修改MySQL服务器时间

本文记录了在Spring Boot项目中整合Mybatis时遇到的'serverTimezone=UTC'错误,尝试了修改MySQL服务器时间、调整URL参数等五种方案,最终通过降低数据库驱动版本至5.1.47解决问题。文中还提醒注意低版本驱动对应配置的调整。
最低0.47元/天 解锁文章
784





