MySQLNonTransientConnectionException: Could not create connection to database server 解决办法

今天学习mybatis,遇到

MySQLNonTransientConnectionException: Could not create connection to database server无法创建数据库连接

第一步
网上查了一下,估计是mysql驱动包版本太低,我的mysql是8.0版本的,但是驱动依赖包却是5.1.29的。
在这里插入图片描述在这里插入图片描述于是把mysql连接驱动包升级到8.0.11版本。

<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>8.0.11</version>
</dependency>

这时候有可能已经解决了问题了,如果还会出现如下错误中的其中一个,就进入第二步。

1、Loading class com.mysql.jdbc.Driver. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver.

或者

2、WARN: Establishing SSL connection without server's identity verification is not recommended
Error updating database. Cause: java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.

第二步
第 1 个错误是因为驱动类com.mysql.jdbc.Driver的已经废弃,现在应该用com.mysql.cj.jdbc.Driver,在数据库配置文件中修改一下即可。
在这里插入图片描述
代码 <property name="driver" value="com.mysql.cj.jdbc.Driver"/>

第 2 个错误需要添加SSL验证,或者是因为没有时域,可以将
?serverTimezone=GMT%2B8&amp;Unicode=true&amp;characterEncoding=utf-8&amp;useSSL=false
添加到数据库连接的后面,表示不适用SSL验证、数据集使用utf-8编码、使用东八区的时间。

完整代码如下
在这里插入图片描述

ps:在idea中,xml文件不可出现"&“符号,应该使用”&amp;"来代替(注意&amp后面有分号)。

修改完成后,数据库就可以正常连接啦。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章