SpringBoot + Mybatis +Mysql 插入的时间少8小时

数据库 新民 37℃ 未收录 0评论

最近新搭建了一个项目,Spring Boot 2.1.2、Mybatis 3.4、Mysql 5.7,搭建过程很顺利,在编写单元测试时发现保存到Mysql 数据库的时间少了8小时。下面来记录下排除问题的步骤:

1、使用SHOW VARIABLES LIKE “%time_zone%”; 命令查看Mysql 的时区,结果如下:

如图所示,没有问题。就是东八区。可还是时间有问题,于是重新设置时区  SET GLOBAL time_zone = ‘+8:00’;   SET time_zone = ‘+8:00’; 使用 FLUSH PRIVILEGES; 生效,重启mysql 服务,重新测试一遍,还是时间有问题:

2、查看Mybatis 是否有问题,查看Mybatis 执行的sql 语句和 sql 参数是否有问题,截图如下:

如图所示,发现传入的时间是没有问题的。

3、使用Mysql 命令: select now(); 查看时间是否有问题,如下图:

如图所示,now(); mysql 时间是没有问题的。既然Mysql 数据库没有问题,那么问题肯定在程序中。

4、查看了下Mysql jdbc 的url 连接,连接如下: jdbc:mysql://192.168.1.139:3306/partybuild?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC   , 查看了下UTC,问题出现在了  serverTimezone=UTC  ,最后将serverTimezone 设置为 Hongkong 。完整的URL如下: jdbc:mysql://192.168.1.139:3306/partybuild?useUnicode=true&characterEncoding=utf-8&serverTimezone=Hongkong   

修改完后,再次测试,发现时间没有问题了,如下图:

至此,问题解决!

本站文章如未注明,均为原创丨本网站采用BY-NC-SA协议进行授权,转载请注明转自:https://www.snowruin.com/?p=1770
喜欢 (1)or分享 (0)
发表我的评论
取消评论
表情 代码 贴图 加粗 链接 私信 删除线 签到

Hi,请填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址