最近做項目測試的發現,訪問Url返回的時間與數據庫中的不相同,環境是Spring boot+MyBatis+Mysql(阿里雲服務器),經過一番折騰,得到了解決
問題描述
我是直接使用IDEA的數據庫控制台,往數據庫中某個表插入了數據,該表存在着一個字段date,此字段是插入數據的時候由數據庫自動賦值,從數據庫中的查詢語句,時間是正確的,但是,使用了訪問Url來進行查詢,返回的json數據中的時間就是比數據庫中的時間要晚8小時
原因
原因其實很簡單,因為spring boot默認使用的jackson來將實體類對象轉為json數據,而jackson默認的時區和數據庫中的時區不一樣,jackson應該用的是美國時區(猜測),所以,jackson將實體類對象轉為json數據的時候,把時間調為了美國時區,所以就晚了8小時
解決方法
解決方法很簡單,只需要在spring boot中的配置文件配置jackson的時區即可,這里我采用的yml文件進行配置
spring:
jackson:
time-zone: GMT+8