java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ 解決方案


//第一個異常

Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

意思是 mysqljdbc . driver被棄用了新的驅動類是“com.mysql.cjdbc.driver”。驅動程序通過SPI自動注冊,而手動加載類通常是不必要的,解決方案如下:

//解決方法
把com.mysql.jdbc.Driver 改為com.mysql.cj.jdbc.Driver 即可

//第二個異常

java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time 

提示系統時區出現錯誤,可以在mysql中執行命令:
set global time_zone='+8:00'
或者在數據庫驅動的url后加上serverTimezone=UTC參數

寫代碼的時候要注意,如果該參數是‘?’后的第一個,即

<property name="jdbcUrl"> jdbc:mysql://localhost:3306/exam?serverTimezone=UTC </property>

是沒有問題的,但如果不是第一個,即

<property name="jdbcUrl"> jdbc:mysql://localhost:3306/exam?characterEncoding=utf8&serverTimezone=UTC </property>

這種寫法是會報錯的,會提示The reference to entity “serverTimezone” must end with the ‘;’ delimiter.
運行后控制台也會出現
對實體 “serverTimezone” 的引用必須以 ‘;’ 分隔符結尾。
的錯誤提示。
將代碼改為

<property name="jdbcUrl"> jdbc:mysql://localhost:3306/exam?characterEncoding=utf8&amp;serverTimezone=UTC </property>

即可。在xml的配置文件中 ;要用 &amp; 代替。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM