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