亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2017年08月24日 09:10:02   作者:落葉飛逝的戀  
最近在工作中發(fā)現(xiàn)一個問題,是關(guān)于mysql中url時區(qū)的,發(fā)現(xiàn)這個陷阱如果大家不注意可能都會遇到,所以給大家總結(jié)下,這篇文章主要給大家介紹了關(guān)于mysql中url時區(qū)的陷阱該如何規(guī)避的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

最近在使用mysql的6.0.x以上的jar的時候,需要在代碼url的鏈接里面指定serverTimezone。就會出現(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ū)動程序(通過serverTimezone配置屬性),如果您想要使用時區(qū)支持,則需要使用一個更詳細的時區(qū)值。

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

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

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

2.1.遇到的問題

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

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

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

3.根本原因

因為時區(qū)設(shè)置的問題。

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

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

4.解決方案

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

4.1 使用java代碼獲取本地的時區(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)時間

總結(jié)

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

相關(guān)文章

最新評論