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
原文地址:https://www.cnblogs.com/iceywu/p/12188930.html