com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException 异常解决
发布日期:2021-06-30 12:36:55 浏览次数:3 分类:技术文章

本文共 1452 字,大约阅读时间需要 4 分钟。

环境
JDK1.8Mysql 8.0.20
mysql
mysql-connector-java
5.1.35
db.driver=com.mysql.jdbc.Driverdb.url=jdbc:mysql://localhost:3306/ssm?characterEncoding=utf-8
报错信息
org.apache.ibatis.exceptions.PersistenceException: ### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.### The error may exist in phase01/UserMapper.xml### The error may involve test.findUserById### The error occurred while executing a query### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.	at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150)	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:77)	... 55 more
解决办法

原因是从JDBC6.0开始驱动类使用了新的,并且url中必须要设置时区,否侧会报错。

应该用新的驱动类是com.mysql.cj.jdbc.Driver,而不是com.mysql.jdbc.Driver,并且还要配置时区。

使用新的Mysql驱动jar包,将依赖替换为更高版本,例如8.0.15

mysql
mysql-connector-java
8.0.15

修改驱动的类名,并且在url后面加上时区设置,UTC表示标准时区。

db.driver=com.mysql.jc.jdbc.Driverdb.url=jdbc:mysql://localhost:3306/ssm?characterEncoding=utf-8&serverTimezone=UTC

转载地址:https://javalib.blog.csdn.net/article/details/106158808 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:并发编程使用了 线程池 ThreadPoolExecutor 程序性能有了质的突破
下一篇:Windows 环境安装 Mysql 8

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年05月02日 21时23分38秒