严重: maxIdle is deprecated,严重: testWhileIdle is true, validationQuery not set,Druid连接池连接MSQL报错处理

JDK9  引发的血案
1、因为使用mysql-connector的依赖版本对应的mysql数据库冲突,mysql8需要使用8.0.11以上的高版本

2、jdk9的反射本身存在BUG,会有warning警告,一般不影响使用,在后续版本会更新修复
 首先检查下自己使用的mysql 是什么版本的,5.5 、5.6版本的使用老依赖就行,新的依赖驱动Driver注册包路径已经改变、老版本依赖已经不适用;

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
 druid连接池连接MYSQL报错如下;是因为maxIdle is deprecated    已经被弃用了;  

G:\tools\java_jdk\jdk-9.0.1\bin\java.exe -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:
9月 10, 2018 6:54:15 下午 com.alibaba.druid.pool.DruidAbstractDataSource error
严重: maxIdle is deprecated
9月 10, 2018 6:54:15 下午 com.alibaba.druid.pool.DruidDataSource error
严重: testWhileIdle is true, validationQuery not set
9月 10, 2018 6:54:16 下午 com.alibaba.druid.pool.DruidDataSource info
信息: {dataSource-1} inited

 

 

(1)第一条报错信息解决如下;把过时的配置参数去除;

 

 

 1.1、附上druid.properties的配置;

driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/reba?serverTimezone=UTC&characterEncoding=utf-8&useSSL=false
username=root
password=root


initialSize=5
maxActive=10
maxWait=3000
minIdle=3

1.2、再次运行,结果如下; 

 

 

已解决一个报错信息;

(2)第二条报错信息如下;

严重: testWhileIdle is true, validationQuery not set

2.1、报错信息意思是说:校验没有设置,将testWhileIdle修改为false不再报错,工程正常运行。

但此时MYSQL数据库将不再进行连接验证,存在一定的风险。所以设置true.

把以下配置信息添加到druid.properties配置文件中;

validationQuery:SELECT 1
testWhileIdle:true
testOnBorrow:false
testOnReturn:false
2.2、运行结果如下;

 

 

已解决该条报错;

(3)第三条;

9月 10, 2018 7:19:00 下午 com.alibaba.druid.pool.DruidDataSource info

信息: {dataSource-1} inited

是日志文件,对你没看错,这是正常的。
---------------------
作者:打豆豆。
来源:CSDN
原文:https://blog.csdn.net/weixin_42323802/article/details/82594329
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2019-07-16 21:51  青衫客36  阅读(6167)  评论(0编辑  收藏  举报