JDBC 连接 MySQL 问题解析
作者:互联网
JDBC 连接 MySQL 问题解析
最近配置 JDBC 连接 MySQL 过程中,出现了一系列问题。好在最后都解决了。这里将问题进行汇总,希望能够帮助有同样问题的人度过难关。
目录
1. 报错:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
遇到这个问题,多半是 POM.xml 文件的 mysql-connector-java 版本存在问题。我一开始使用 5.1.44 版本,后来发现始终报这个错误。退回 5.1.6 就可以解决这个问题。
当然,还有一种情况会报这个错误:MySQL Server 连接时间超过8小时,也会自动断开连接,并报错。解决方法一般是修改配置文件。
2. 报错:Unknown initial character set index ‘255’ received from server.Initial client character
遇到这个问题,一般是 MySQL 中出现中文,导致无法正常解析造成的。解决方法是,url 后面加入采用 utf8 编码的要求,从而避免报错。例如,源语句为下列:
<property name="url" value="jdbc:mysql://10.201.0.27:3307/mybatis"/>
可以修改为下列语句:
<property name="url" value="jdbc:mysql://10.201.0.27:3307/mybatis?useUnicode=true&characterEncoding=utf8"/>
3. 报错:对实体 “characterEncoding” 的引用必须以 ‘;’ 分隔符结尾
遇到这个问题,我还挺惊讶的,居然是中文报错。后来发现,一般都是 MySQL 中含有中文,在后面加入 characterEncoding=utf8 的时候出现的问题,所以可能是因为这个原因采用中文报错。
解决方法是,内容中&
需要用&
来代替。例如,下面的语句:
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&characterEncoding=utf8" />
上述语句会报错。需要修改成下列语句,就不会报错:
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&characterEncoding=utf8" />
4. 参考内容
标签:语句,JDBC,characterEncoding,问题,报错,MySQL,解析 来源: https://blog.csdn.net/qq_38522564/article/details/114299887