springboot集成druid連接池
阿新 • • 發佈:2019-03-12
pla initials ima 重置數據 encoding tween false add cache
相對於dbcp、c3p0等連接池,druid性能更優越,提高可視化的sql監控頁面,簡直是目前最好用的數據庫連接池沒有之一。
那麽如何快速集成springboot+druid呢?
- 導包
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.9</version> </dependency>
- 編寫Druid配置文件
package com.xp.pay.gateway.config; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.support.http.StatViewServlet; import com.alibaba.druid.support.http.WebStatFilter; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.servlet.FilterRegistrationBean;
- 編寫application.yml
spring : datasource : type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.jdbc.Driver driver-class-name: com.mysql.jdbc.Driver platform: mysql url: jdbc:mysql://127.0.0.1:3306/x_test?useUnicode=true&characterEncoding=utf-8&useSSL=false&zeroDateTimeBehavior=convertToNull username: root password: yourPassword initialSize: 5 #初始化連接大小 minIdle: 5 #最小連接池數量 maxActive: 20 #最大連接池數量 maxWait: 60000 #獲取連接時最大等待時間,單位毫秒 maxPoolPreparedStatementPerConnectionSize: 20 timeBetweenEvictionRunsMillis: 60000 #配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒 minEvictableIdleTimeMillis: 300000 #配置一個連接在池中最小生存的時間,單位是毫秒 validationQuery: SELECT 1 FROM DUAL #測試連接 testWhileIdle: true #申請連接的時候檢測,建議配置為true,不影響性能,並且保證安全性 testOnBorrow: false #獲取連接時執行檢測,建議關閉,影響性能 testOnReturn: false #歸還連接時執行檢測,建議關閉,影響性能 poolPreparedStatements: false #是否開啟PSCache,PSCache對支持遊標的數據庫性能提升巨大,mysql下建議關閉 filters: stat,wall,log4j2 #配置擴展插件,常用的插件有=>stat:監控統計 log4j:日誌 wall:防禦sql註入 connectionProperties: ‘druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000‘ #慢SQL記錄 logSlowSql: true #是否打印sql
- 訪問http://localhost:8080/druid/login.html
springboot集成druid連接池