学习mybatis的时候出现如下报错:
Could not create connection to database server. Attempted reconnect 3 times. Giving up。
后来又报了几次数据库连接的错误。

Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: com.mysql.cj.jdbc.Driver
经过查资料,才知道是本地MySQL版本和maven导包版本的问题。
此时我本地MySQL的版本是8.0.31
但是pom配置文件中的依赖是5.1.6

所以才会报数据库连接的错误。
解决方法:
修改配置文件中的mysql版本和所用数据库相同

并且将mybatis配置文件中的数据库驱动改为:com.mysql.cj.jdbc.Driver
5.X.X版本的驱动为:com.mysql.jdbc.Driver
8.X.X版本的驱动为:com.mysql.cj.jdbc.Driver
并且,修改Mybatis XML配置文件dataSource中的url属性,在其后添加?serverTimezone=GMT,即将mysql的时区设置为美国时间,如下图所示:

此时再运行测试代码,发现已经可以成功运行:

本文介绍了在学习Mybatis时遇到的数据库连接问题,错误提示为'Couldnotcreateconnectiontodatabaseserver'和'SQLException:ErrorsettingdriveronUnpooledDataSource'。问题的根本原因是本地MySQL版本8.0.31与pom.xml中配置的MySQL驱动版本5.1.6不匹配。解决方案是更新pom.xml中的MySQL依赖至与本地版本相同的8.0.31,并将数据库驱动改为'com.mysql.cj.jdbc.Driver'。此外,还需在Mybatis配置文件中添加?serverTimezone=GMT以解决时区问题。修复这些问题后,测试代码成功运行。
5886

被折叠的 条评论
为什么被折叠?



