jdbc url MySQL時區問題

一、錯誤描述

Caused by: com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: 
The server time zone value '�й���׼ʱ��' is unrecognized

原因: 
    在使用mysql的jdbc驅動最新版(6.0+)時,遇到數據庫和系統時區差異引起的問題。

二、解決方法

在連接字符串中明確指定serverTimezone。

spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC

三、時區問題

遇到的問題 servertime=UTC導致時間差8個小時(MySQL jdbc 6.0 版本以上必須配置此參數)

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

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

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

3.根本原因

因爲時區設置的問題。

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

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

4.解決方案

url的時區使用中國標準時間。也是就serverTimezone=Asia/Shanghai
--------------------- 
作者:no bug 選手 
來源:CSDN 
原文:https://blog.csdn.net/yaphets__yj/article/details/77774874 

解決方法: 
    如果指定使用gmt+8時區,需要寫成GMT%2B8,否則可能報解析爲空的錯誤。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章