1. 程式人生 > >bootspring網站項目,Date類型插入數據庫始終比正確時間早一天問題的解決

bootspring網站項目,Date類型插入數據庫始終比正確時間早一天問題的解決

entry 項目 blog value 指點 use pin 印象 ...

bug描述

昨天的Date插入不進去問題解決後,一直沒發現其實插入的時間一直比正確的時間早一天
輸出sql語句,發現insert語句還是對的,不知道為什麽插入數據庫之後結果就早了一天
https://blog.csdn.net/qq_37630354/article/details/82814330

嘗試解決

嘗試在application.property 中設置時區未果:

#time-zone start
spring.jackson.time-zone=GMT+8
#time-zone end

後來在大神一句“你們數據庫是怎麽連的”,我才發現application.property連接數據庫的配置中已經有一句時區的設置,在第一行設置的url的末尾:

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/studentsManagement?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

其實serverTimezone這個參數最初是沒有的,報了下面的錯:

The server time zone value ‘?D1ú±ê×?ê±??‘ is unrecognized or
represents .....

參考博客:https://blog.csdn.net/qq_37630354/article/details/82814330 之後才加上去的。

首先我的第一印象也是改成GMT+8,但是報錯:

No timezone mapping entry for ‘GMT 8

後來直接刪掉&serverTimezone=GMT,結果還是報了最初的時區亂碼錯:

The server time zone value ‘?D1ú±ê×?ê±??‘ is unrecognized or
represents .....

又把GMT改成UTC,不報錯了,但時間還是差一天。

自己重看之前那篇參考博客,以及大神指點,發現應該寫成GMT%2B8,因為

“url裏面,+都要用%2b”。

就好了!
bug就解決了!!

bootspring網站項目,Date類型插入數據庫始終比正確時間早一天問題的解決