Mybatis查詢MySQL Timestamp類型時,相差8小時解決方法

在做項目時,使用mybatis查詢關於timestamp字段時

發現返回到對象當中比數據庫的時間少8個小時

 

檢查Mysql 使用系統時區

如果是默認時區或者GMT都表示東八區

如果是CST,CST是美國,澳大利亞時間,這樣的話是Java查詢數據庫時錯誤的認爲是東八區時間,所以查出來減8到標準時間。

我這邊系統使用的是默認時區

解決方法

可以肯定的是時區出了問題了。

 

一種解決方式是修改系統的時區問題,這裏省略,咱們說的是在項目裏的解決方案

 

修改apploaction.proterties或者yml文件 裏面

spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8

同時數據庫url也添加 serverTimezone=GMT%2B8

spring.datasource.url=jdbc:mysql://localhost:3306/test?&serverTimezone=GMT%2B8

注:

%2B是urlEncode碼,表示的是 + 號

 

 

發佈了35 篇原創文章 · 獲贊 10 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章