国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql中url時區的陷阱該如何規避詳解

2024-07-24 13:14:20
字體:
來源:轉載
供稿:網友

前言

最近在使用mysql/145628.html">mysql的6.0.x以上的jar的時候,需要在代碼url的鏈接里面指定serverTimezone。就會出現異常:

1.未指定serverTimezone

xml里面配置url

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

出現的異常

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.

您必須配置服務器或JDBC驅動程序(通過serverTimezone配置屬性),如果您想要使用時區支持,則需要使用一個更詳細的時區值。

2.網上的解決方案

在url后面加上參數?serverTimezone=utc

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

2.1.遇到的問題

雖然上面加上時區程序不出錯了,但是我們在用java代碼插入到數據庫時間的時候卻出現了問題。

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

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

3.根本原因

因為時區設置的問題。

UTC代表的是全球標準時間 ,但是我們使用的時間是北京時區也就是東八區,領先UTC八個小時。

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

4.解決方案

url的時區使用中國標準時間。也是就serverTimezone=Asia/Shanghai

4.1 使用java代碼獲取本地的時區id

Calendar cal = Calendar.getInstance();TimeZone timeZone = cal.getTimeZone();System.out.println(timeZone.getID());System.out.println(timeZone.getDisplayName());
Asia/Shanghai中國標準時間

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长阳| 大足县| 九江市| 海宁市| 宁蒗| 安丘市| 财经| 巴楚县| 修武县| 定州市| 东乌珠穆沁旗| 靖江市| 铜梁县| 洪江市| 江阴市| 昌黎县| 沁源县| 双江| 江川县| 洪湖市| 山东| 五大连池市| 克什克腾旗| 区。| 新乡县| 嘉义市| 美姑县| 汾阳市| 扎兰屯市| 沐川县| 当涂县| 彭阳县| 道孚县| 阳山县| 当雄县| 邛崃市| 出国| 长治市| 克什克腾旗| 廉江市| 西吉县|