1. 程式人生 > >bootspring網站專案,Date型別插入資料庫始終比正確時間早一天問題的解決

bootspring網站專案,Date型別插入資料庫始終比正確時間早一天問題的解決

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 'Öйú±ê׼ʱ¼ä' 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 'Öйú±ê׼ʱ¼ä' is unrecognized or
represents .....

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

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

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

就好了!
bug就解決了!!