Druid是阿里巴巴開源項目中一個數據庫連接池。
Druid是一個jdbc組合,包含三個部分,
1.DruidDriver代理Driver,能夠提供基於Filter-Chain模式得插件體系
2.DruidDataSource高效可管理得數據連接池。
3.SQLParser,支持所有jdbc兼容得數據庫,包括ORacle,mysql,sql server.
Druid在監控,可擴展,穩定性和性能方面具有明顯得優勢,通過提供得監控功能可以觀察數據庫連接池和sql查詢工作情況,
使用druid連接池可以提高數據庫得訪問性能。
應該怎么使用呢。比如要使用mysql數據庫,那么就要首先在pom.xml中增加依賴。
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
再增加druid的引入druid連接池
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10</version> </dependency>
再引入druid的starter,用來配置屬性
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10</version> </dependency>
配置屬性,application,yml
spring: datasource: url: jdbc:mysql://127.0.0.1:3306/springboot05?characterEncoding=utf-8&useUnicode=true&useSSL=false driver-class-name: com.mysql.cj.jdbc.Driver # mysql8.0以前使用com.mysql.jdbc.Driver username: root password: root platform: mysql #通過這句配置將druid連接池引入到我們的配置中,spring會盡可能判斷類型是什么,然后根據情況去匹配驅動類。 type: com.alibaba.druid.pool.DruidDataSource druid: initial-size: 5 # 初始化大小 min-idle: 5 # 最小 max-active: 100 # 最大 max-wait: 60000 # 配置獲取連接等待超時的時間 time-between-eviction-runs-millis: 60000 # 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒 min-evictable-idle-time-millis: 300000 # 指定一個空閑連接最少空閑多久后可被清除,單位是毫秒 validationQuery: select 'x' test-while-idle: true # 當連接空閑時,是否執行連接測試 test-on-borrow: false # 當從連接池借用連接時,是否測試該連接 test-on-return: false # 在連接歸還到連接池時是否測試該連接 filters: config,wall,stat # 配置監控統計攔截的filters,去掉后監控界面sql無法統計,'wall'用於防火牆 poolPreparedStatements: true # 打開PSCache,並且指定每個連接上PSCache的大小 maxPoolPreparedStatementPerConnectionSize: 20 maxOpenPreparedStatements: 20 # 通過connectProperties屬性來打開mergeSql功能;慢SQL記錄 connectionProperties: druid.stat.slowSqlMillis=200;druid.stat.logSlowSql=true;config.decrypt=false # 合並多個DruidDataSource的監控數據 #use-global-data-source-stat: true #WebStatFilter配置,說明請參考Druid Wiki,配置_配置WebStatFilter web-stat-filter: enabled: true #是否啟用StatFilter默認值true url-pattern: /* exclusions: /druid/*,*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico session-stat-enable: true session-stat-max-count: 10 #StatViewServlet配置,說明請參考Druid Wiki,配置_StatViewServlet配置 stat-view-servlet: enabled: true #是否啟用StatViewServlet默認值true url-pattern: /druid/* reset-enable: true login-username: admin login-password: admin
運行springboot,登陸locahost:8080/druid/
輸入用戶名,密碼