JDBC報錯 消息 Could not get JDBC Connection; nested exception is java.sql.SQLException: Unknown system variable 'tx_isolation'


今天用JDBCTemplate時,發現啟動服務器之后報錯: Could not get JDBC Connection; nested exception is java.sql.SQLException: Unknown system variable 'tx_isolation'

網上說是因為MySQL版本過高的問題,我的MySQL版本是8.0,里面已經沒有tx_isolation,變成了transaction_isolation,用了以下幾種解決方法:

(1)更改MySQL

 

 無效,仍然報錯!

(2)將mysql-connector-java升級為與MySQL匹配的8.0版本及以上

我使用的是:mysql-connector-java-8.0.18.jar

解決了上一個問題,但是又出現了新的問題:

java.sql.SQLException: The server time zone value  '�й���׼ʱ��' is unrecognized or represents more than...

 這個錯誤是因為mysql連接的依賴包是高版本的情況下,在配置datasource.url時不能簡單的這樣配:

url=jdbc:mysql://localhost:3306/day13

需要加上一些必要的后綴信息(改成下面的配置就可以了):

url=jdbc:mysql://localhost:3306/day13?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
 
        

ok,問題解決!

(3)有一天我按照上面的方法卻報出了另外一個錯誤:

java.sql.SQLException: validateConnection false

檢查了半天才發現,driverName少寫了一個cj.差點吐血。。。

driverClassName=com.mysql.cj.jdbc.Driver

 


免責聲明!

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



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