关于springboot中数据库连接池报错:testWhileIdle is true, validationQuery not set

这句话的意思是 空闲的时候进行检测是开启,但是没有设置验证语句,当数据库没有接收到请求时,会进行数据库连接检测,检查数据库是否还是连着的。检查数据库是否断开需要发送sql语句。报错是说这个sql语句没有设置。

 

解释一下:Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。阿里 Druid为SpringBoot 提供专门的start依赖,Mybatis 使用 Druid 相对比较简单,我们需要引入 Druid 的starter 依赖并添加相关的一些配置即可。

 

怎么解决呢:

1:首先查看 pom.xml文件里面是否写对:

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>

2:其次在application.properties配置文件中的数据源是否配置正确:
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver  #使用阿里巴巴druid时必须配置这一项
spring.datasource.url=jdbc:mysql://localhost:3306/air_admin?serverTimezone=GMT%2B8&characterEncoding=utf8&useUnicode=true&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.druid.validation-query=SELECT 1    #这里主要是空闲时验证数据库连接是否正常设置的链接语句



一般报错主要是没有配置 spring.druid.validation-query=SELECT 1 这一项,

posted on 2020-07-09 15:13  songyinan  阅读(2776)  评论(0编辑  收藏  举报