新項目是用的springboot+mybatis+mysql 6.0.6版本的驅動包來搭建的,在使用的過程中遇到以下2個問題
-
從mysql取的的數據日期時間,與真實的時間往后錯亂了14個小時。
-
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