主頁 > 知識(shí)庫 > mysql中url時(shí)區(qū)的陷阱該如何規(guī)避詳解

mysql中url時(shí)區(qū)的陷阱該如何規(guī)避詳解

熱門標(biāo)簽:電話機(jī)器人免費(fèi)嗎 地圖標(biāo)注圖標(biāo)素材入駐 百度地圖標(biāo)注地方備注 好搜地圖標(biāo)注 怎么申請400電話申請 怎么辦理400電話呢 龍圖酒吧地圖標(biāo)注 400電話申請什么好 電銷機(jī)器人價(jià)格多少錢一臺(tái)

前言

最近在使用mysql的6.0.x以上的jar的時(shí)候,需要在代碼url的鏈接里面指定serverTimezone。就會(huì)出現(xiàn)異常:

1.未指定serverTimezone

xml里面配置url

property name="url" value="jdbc:mysql://localhost:3306/mybatisstudy"/>

出現(xiàn)的異常

Caused by: com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

您必須配置服務(wù)器或JDBC驅(qū)動(dòng)程序(通過serverTimezone配置屬性),如果您想要使用時(shí)區(qū)支持,則需要使用一個(gè)更詳細(xì)的時(shí)區(qū)值。

2.網(wǎng)上的解決方案

在url后面加上參數(shù)?serverTimezone=utc

property name="url" value="jdbc:mysql://localhost:3306/springdatastudy?serverTimezone=UTC"/>

2.1.遇到的問題

雖然上面加上時(shí)區(qū)程序不出錯(cuò)了,但是我們在用java代碼插入到數(shù)據(jù)庫時(shí)間的時(shí)候卻出現(xiàn)了問題。

比如在java代碼里面插入的時(shí)間為:2017-08-21 17:29:56

但是在數(shù)據(jù)庫里面顯示的時(shí)間卻為:2017-08-21 09:29:56

3.根本原因

因?yàn)闀r(shí)區(qū)設(shè)置的問題。

UTC代表的是全球標(biāo)準(zhǔn)時(shí)間 ,但是我們使用的時(shí)間是北京時(shí)區(qū)也就是東八區(qū),領(lǐng)先UTC八個(gè)小時(shí)。

UTC + (+0800) = 本地(北京)時(shí)間

4.解決方案

url的時(shí)區(qū)使用中國標(biāo)準(zhǔn)時(shí)間。也是就serverTimezone=Asia/Shanghai

4.1 使用java代碼獲取本地的時(shí)區(qū)id

Calendar cal = Calendar.getInstance();
TimeZone timeZone = cal.getTimeZone();
System.out.println(timeZone.getID());
System.out.println(timeZone.getDisplayName());
Asia/Shanghai
中國標(biāo)準(zhǔn)時(shí)間

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • Docker的MySQL容器時(shí)區(qū)問題修改
  • 關(guān)于Java中的mysql時(shí)區(qū)問題詳解
  • MySQL查看和修改時(shí)區(qū)的方法
  • MySQL timestamp的類型與時(shí)區(qū)實(shí)例詳解
  • MySQL修改時(shí)區(qū)的方法小結(jié)
  • 詳解MySQL查詢時(shí)區(qū)分字符串中字母大小寫的方法
  • mysql時(shí)區(qū)問題
  • 有關(guān) PHP 和 MySQL 時(shí)區(qū)的一點(diǎn)總結(jié)
  • mysql解決時(shí)區(qū)相關(guān)問題

標(biāo)簽:溫州 固原 浙江 內(nèi)江 汕尾 撫順 防疫工作 廣西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql中url時(shí)區(qū)的陷阱該如何規(guī)避詳解》,本文關(guān)鍵詞  mysql,中,url,時(shí)區(qū),的,陷阱,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mysql中url時(shí)區(qū)的陷阱該如何規(guī)避詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于mysql中url時(shí)區(qū)的陷阱該如何規(guī)避詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章