严重: testWhileIdle is true, validationQuery not set 使用Druid连接池报错处理
问题描述-
学习网上视频课中的老项目,项目使用mysql-connector-5.X版本,druid版本1.0.9 ,本机JDK版本10数据库MySql 8.X,项目使用Maven构建。
首次进行数据库操作失败,后改用mysql-connector-8.X,修改driver和url后出现新错误如下:
testWhileIdle is true, validationQuery not set
问题解决-
原因是因为没有SpringBoot框架xml配置,在不使用框架的情况下;怎么解决呢;
原来properties文件配置如下;
driverClassName = com.mysql.cj.jdbc.Driver
url = jdbc:mysql://localhost:3306/test?serverTimezone=UTC&characterEncoding=utf-8&useSSL=false
username = root
password = root
在properties配置文件下添加一些配置;
filters=stat
initialSize=2
maxActive=300
maxWait=60000
timeBetweenEvictionRunsMillis=60000
minEvictableIdleTimeMillis=300000
validationQuery=SELECT 1
testWhileIdle=true
testOnBorrow=false
testOnReturn=false
poolPreparedStatements=false
maxPoolPreparedStatementPerConnectionSize=200
再次运行;
报错2;
信息: {dataSource-1} inited
这是日志信息,没有错Druid采用了日志打印机制,这不是报错;
连接池采用了懒加载,真正用到的时候才初始化;
一些名词解释,详见;