使用Druid连接Oracle数据库时,提示严重: testWhileIdle is true, validationQuery not set
上面的是错误,下面的是日志,是没有问题的。
修改错误信息参考testWhileIdle is true错误;druid配置oracle遇到ORA-00923: 未找到要求的 FROM 关键字。
MySQL版本大于8 JDK8
这个错误信息是由于校验没有设置。
可以将testWhileIdle设置为false,但是这是数据库连接不会进行验证,存在风险。
在配置文件中,添加如下内容:
timeBetweenEvictionRunsMillis=60000
minEvictableIdleTimeMillis=300000
validationQuery=SELECT 1 from dual
testWhileIdle=true
testOnBorrow=false
testOnReturn=false
其中
timeBetweenEvictionRunsMillis=60000 表示每隔60s运行一次连接回收器inEvictableIdleTimeMillis=300000 表示连接空闲时间超过300s回收连接
testOnBorrow=false 表示从连接池取出连接时,不执行检验,提高性能
validationQuery=SELECT 1 from dual 验证连接是否可用
testOnReturn=false 表示归还连接时,不进行检验
验证连接的语句,不同的数据库不一定一样,每种数据库都有各自的验证语句。