SpringBoot集成Druid启动报错testWhileIdle is true, validationQuery not set

时间:2025-03-22 09:00:02

问题描述:

SpringBoot集成Druid,版本:druid-1.1.,启动的时候报错:testWhileIdle is true, validationQuery not set。但是不影响系统使用,数据库等一切访问正常。

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

网上资料的解决方案:

-while-idle=true
-query=SELECT 1

但是发现还是不起作用,仍然报错。为什么不起作用呢,因为springboot1.4取消

查看源码:druid-1.1.

在下的类中,大家搜索validationQuery not set关键字,发现错误是从这里面报出来的,因为validationQuery这个属性是空的,所以大家前面的配置根本就没有生效。

最终解决方案:

配置不变

-while-idle=true
-query=SELECT 1

代码里加上配置类

@Configuration
public class DruidConfig {
 
    @ConfigurationProperties(prefix = "")
    @Bean
    public DataSource druidDataSource(){
        return new DruidDataSource();
    }
}

参考文章:

springboot连接数据库报错testWhileIdle is true, validationQuery not set - 瘦鱼 - 博客园

SpringBoot集成Druid_云鼎的博客-****博客_集成druid