mybatis-plus 自动填充的时间跟真实时间相差8小时

项目中 用到了以下两个字段,分别是插入数据时间和更新数据时间,用的mybatis-plus自动填充,结果发现填充的时间跟真实时间相差很多。查了一些资料,找到了解决方案:

1. 下图是我的mysql没有进行配置之前的时区配置,这里的CST包括了4个时区,分别是

mybatis-plus 自动填充的时间跟真实时间相差8小时_第1张图片

  • 美国中部时间 Central Standard Time (USA) UTC-06:00
  • 澳大利亚中部时间 Central Standard Time (Australia) UTC+09:30
  • 中国标准时 China Standard Time UTC+08:00
  • 古巴标准时 Cuba Standard Time UTC-04:00

这导致JDBC在跟mysql交互的时候,会误以为mysql的时区不是中国标准时区,而是上面3个中的一个。

所以,我们需要修改mysql的配置,强制它为中国标准时间,而不是其他。

mysql> set global time_zone='+08:00';
mysql> set time_zone='+08:00';
mysql> flush privileges;

2. 查看本机的jdbc连接,把serverTimezone设置成下图代码

你可能感兴趣的:(java,mybatis,mysql,timezone)