解决JDBC连接MySQL时发出的警告WARN: Establishing SSL connection without server's identity verification ...

Fri Mar 30 14:55:35 CST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

仔细看了看,发现是字符串中没有配置SSL这个配置项。

需要在连接字符串中加上useSSL=false/true配置。

但是我是在XML中配置,配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<!-- 这是默认配置信息 -->
<default-config> 
<!-- 连接四大参数配置 -->
<property name="jdbcUrl">jdbc:mysql://localhost:3306/somebodyblog?characterEncoding=utf8</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="user">root</property>
<property name="password">123456789</property>
<!-- 池参数配置 -->
<property name="acquireIncrement">3</property>
<property name="initialPoolSize">10</property>
<property name="minPoolSize">2</property>
<property name="maxPoolSize">10</property>
</default-config>

</c3p0-config>

在字符串后面加上&useSSL=false后发现eclipse会报错!!!

启动后变成这样:

 

这是为什么呢????

于是搜寻资料发现:

在XML中,包括HTML中,要显示&这个字符,必须对其转义转义!!

遂改称如下样子:

 

贴出来:jdbc:mysql://localhost:3306/somebodyblog?characterEncoding=utf8&amp;useSSL=false

原文地址:https://www.cnblogs.com/shenzhenhuaya/p/ert.html