SpringBoot+MyBatis+Mysql 6.X 版本日期型数据获,时间错乱,jason序列化时间相差8小时问题


新项目是用的springboot+mybatis+mysql 6.0.6版本的驱动包来搭建的,在使用的过程中遇到以下2个问题

  1. 从mysql取的的数据日期时间,与真实的时间往后错乱了14个小时。

  2. springboot jason序例日期时发现与真实的时间向前推了8小时。

第一个问题:经过 查资料,发现是mysql 6.x以上版本的驱动包,连接字符串默认时区不是东八区导致,解决方案如下

  在连接字符串上加上serverTimezone=Asia/Shanghai  问题得到解决。

  经验证mysql 5.x的版本不存在的这个问题,所以遇到这个问题的朋友,可以选择用上面的主案解决,也可以用mysql 5.x的版本驱动包解决。

第二个问题: 经调试发现在序列化前日期型的值是正确的,所以找到问题出在了序列化这一层面,这个问题算是spring boot 框架本身整合时的兼容的小BUG吧,解决方案如下

在application.properties 配置文件里添序列化时区配置:spring.jackson.time-zone=GMT+8

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM