關於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 這一項,


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM