欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于SpringBoot mysql數(shù)據(jù)庫時區(qū)問題

 更新時間:2021年06月09日 14:29:50   作者:樹欲靜而風(fēng)不止  
在后端開發(fā)過程中經(jīng)常會遇到幾個時區(qū)設(shè)置問題,今天分幾種情況給大家介紹SpringBoot mysql數(shù)據(jù)庫時區(qū)問題,感興趣的朋友跟隨小編一起看看吧

尋找原因

后端開發(fā)中常見的幾個時區(qū)設(shè)置

第一個設(shè)置點配置文件 spring.jackson.time-zone

第二個設(shè)置點 高版本SpringBoot版本 mysql-connector-java 用的是8.X,mysql8.X的jdbc升級了,增加了時區(qū)(serverTimezone)屬性,并且不允許為空。

第三個設(shè)置點 mysql time_zone變量

詞義

serverTimezone臨時指定mysql服務(wù)器的時區(qū)

spring.jackson.time-zone 設(shè)置spring默認時區(qū)

system_time_zone mysql服務(wù)器時區(qū) ,time_zone默認System追隨system_time_zone

幾種情況

1、time_zone 為 System,serverTimezone為GMT+8,jackson.time-zone未定義

插入情況

再查詢此條記錄

個人覺得Spring默認時區(qū)為格林尼治時區(qū),web服務(wù)器當(dāng)前時區(qū)為東八區(qū),進行加8操作。

2、set GLOBAL time_zone = '+3:00',serverTimezone為GMT+8,jackson.time-zone為GMT+8

createTime 為 timestamp類型

修改配置后,需要重啟SpringBoot

新增情況

數(shù)據(jù)庫中顯示

查詢記錄

個人理解,serverTimezone設(shè)置覆蓋掉了mysql的time_zone變量,跟SpringBoot回話時區(qū)還是東8

3、上述環(huán)境,不重啟SpringBoot,直接改變time_zone = '+5:00'

改變后,上條記錄往后調(diào)整2小時。

SpringBoot查詢,一樣

說明,timeStamp類型存儲的是格林尼治時間,加上time_zone時區(qū)

當(dāng)time_zone變化時,回話沒結(jié)束,serverTimeZone東8還是對應(yīng)time_zone的東3

SpringBoot插入

個人理解,serverTimeZone東8 還是和 time_zone 東3對應(yīng),但是插入發(fā)現(xiàn) 當(dāng)前time_zone已經(jīng)改成東5,就加2小時。

重啟SpringBoot,重新查詢

雖然,mysql變量time_zone為+5,但是重啟后,serverTimeZone直接覆蓋,設(shè)置時間區(qū)間為東8

重新把time_zone改回東3

改回重新打開表,發(fā)現(xiàn)又回來了

不啟動SpringBoot,查詢數(shù)據(jù),還是老樣子

此時,添加一條數(shù)據(jù)。

往前推了2小時。

SpringBoot查詢

重啟SpringBoot,查出來就是庫中數(shù)據(jù)。

總結(jié):

1、timeStamp類型存儲時間數(shù)據(jù),當(dāng)time_zone和serverTimeZone不統(tǒng)一情況,會話中,表中時間數(shù)據(jù),按照serverTimeZone設(shè)定

2、如果過程中,修改了time_zone變量,庫中數(shù)據(jù)直接變更。但是不影響當(dāng)前會話查詢,新增數(shù)據(jù),就會根據(jù)time_zone調(diào)整量,調(diào)整實際入庫。

3、SpringBoot重啟,其實就是新會話。情況同上。

4、時間字段類型為datetime,serverTimezone為GMT+8,jackson.time-zone為GMT+8,time_zone為東3

插入

庫中

查詢

time_zone從東3修改為東5

重新打開庫

不啟動SpringBoot

重啟SpringBoot,還是一樣。

修改serverTimeZone為GMT,其他不改動

查詢

總結(jié):如果是datetime類型,serverTimeZone說了算。

以上就是關(guān)于SpringBoot mysql數(shù)據(jù)庫時區(qū)問題的詳細內(nèi)容,更多關(guān)于SpringBoot mysql時區(qū)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MybatisPlus 多租戶架構(gòu)(Multi-tenancy)實現(xiàn)詳解

    MybatisPlus 多租戶架構(gòu)(Multi-tenancy)實現(xiàn)詳解

    這篇文章主要介紹了MybatisPlus 多租戶架構(gòu)(Multi-tenancy)實現(xiàn)詳解,詳細的介紹了什么是多租戶架構(gòu)以及使用MybatisPlus實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Java提示解析時已到達文件結(jié)尾的解決方法

    Java提示解析時已到達文件結(jié)尾的解決方法

    在本篇文章中小編給大家分享了關(guān)于Java提示解析時已到達文件結(jié)尾的解決方法,需要的朋友們學(xué)習(xí)下。
    2019-07-07
  • java拼接字符串時去掉最后一個多余逗號的方法

    java拼接字符串時去掉最后一個多余逗號的方法

    這篇文章主要介紹了java拼接字符串時去掉最后一個多余逗號的方法,實例分析了java操作字符串的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • SpringBoot+Vue.js實現(xiàn)前后端分離的文件上傳功能

    SpringBoot+Vue.js實現(xiàn)前后端分離的文件上傳功能

    這篇文章主要介紹了SpringBoot+Vue.js實現(xiàn)前后端分離的文件上傳功能,需要的朋友可以參考下
    2018-06-06
  • 通過實例解析spring對象生命周期

    通過實例解析spring對象生命周期

    這篇文章主要介紹了通過實例解析spring對象生命周期,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • java通過URLClassLoader類加載器加載外部jar代碼示例

    java通過URLClassLoader類加載器加載外部jar代碼示例

    ClassLoader翻譯過來就是類加載器,普通的java開發(fā)者其實用到的不多,但對于某些框架開發(fā)者來說卻非常常見,下面這篇文章主要給大家介紹了關(guān)于java通過URLClassLoader類加載器加載外部jar的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • Java實現(xiàn)三子棋游戲

    Java實現(xiàn)三子棋游戲

    這篇文章主要為大家詳細介紹了Java實現(xiàn)三子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • SPFA算法的實現(xiàn)原理及其應(yīng)用詳解

    SPFA算法的實現(xiàn)原理及其應(yīng)用詳解

    SPFA算法,全稱為Shortest?Path?Faster?Algorithm,是求解單源最短路徑問題的一種常用算法,本文就來聊聊它的實現(xiàn)原理與簡單應(yīng)用吧
    2023-05-05
  • RocketMQ?源碼分析Broker消息刷盤服務(wù)

    RocketMQ?源碼分析Broker消息刷盤服務(wù)

    這篇文章主要為大家介紹了RocketMQ?源碼分析Broker消息刷盤服務(wù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • 完美解決Spring Boot前端的Access-Control-Allow-Origin跨域問題

    完美解決Spring Boot前端的Access-Control-Allow-Origin跨域問題

    這篇文章主要介紹了完美解決Spring Boot前端的Access-Control-Allow-Origin跨域問題,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05

最新評論