第13章 資料庫連線池(Druid)

2022-09-10 13:42:17 字數 2442 閱讀 7957

spring boot 系列學習記錄:

druid是乙個關係型資料庫連線池,它是阿里巴巴的乙個開源專案。druid支援所有jdbc相容資料庫,包括了oracle、mysql、postgresql、sql server、h2等。

druid在監控、可擴充套件性、穩定性和效能方面具有明顯的優勢。通過druid提供的監控功能,可以實時觀察資料庫連線池和sql查詢的工作情況。使用druid連線池在一定程度上可以提高資料訪問效率。

druid可以做什麼?

可以監控資料庫訪問效能,druid內建提供了乙個功能強大的statfilter外掛程式,能夠詳細統計sql的執行效能,這對於線上分析資料庫訪問效能有幫助。

替換dbcp和c3p0。druid提供了乙個高效、功能強大、可擴充套件性好的資料庫連線池。

資料庫密碼加密。直接把資料庫密碼寫在配置檔案中,這是不好的行為,容易導致安全問題。druiddruiver和druiddatasource都支援passwordcallback。

sql執行日誌,druid提供了不同的logfilter,能夠支援common-logging、log4j和jdklog,你可以按需要選擇相應的logfilter,監控你應用的資料庫訪問情況。

擴充套件jdbc,如果你要對jdbc層有程式設計的需求,可以通過druid提供的filter-chain機制,很方便編寫jdbc層的擴充套件外掛程式。

本次練習在之前整合spring data jpa基礎上進行。

1.1.0版本

<

dependency

>

<

groupid

>com.alibaba

groupid

>

<

artifactid

>druid-spring-boot-starter

artifactid

>

<

version

>1.1.0

version

>

dependency

>

spring:

datasource:

url: jdbc:mysql://localhost:3306/test

username: root

password: root

driver-class-name: com.mysql.jdbc.driver

type: com.alibaba.druid.pool.druiddatasource

druid:

#最大連線池數量

max-active: 20

#初始化大小

initial-size: 1

#最小連線池數量

min-idle: 3

# 配置獲取連線等待超時的時間

max-wait: 60000

# 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒

time-between-eviction-runs-millis: 60000

# 配置乙個連線在池中最小生存的時間,單位是毫秒

min-evictable-idle-time-millis: 300000

# 檢測連線是否有效的sql

test-while-idle: true

test-on-borrow: false

test-on-return: false

#pscache mysql下建議關閉

poolpreparedstatements: true

statviewservlet:

#登入帳號

login-username: druid

#登入密碼

login-password: druid

jpa:

hibernate:

ddl-auto: update

show-sql: true

更多配置,請參考這裡

啟動專案,訪問http://localhost:8080/druid 首先輸入上面配置的使用者名稱和密碼 druid 進行登入:

執行乙個查詢請求,然後檢視sql監控頁面:

檢視資料來源頁面:

如果用1.1.0以前版本,進行配置的。啟動後直接檢視資料來源頁面只顯示(*) property for user to setup,詳見這裡

druid資料庫連線池

一 池的理解 二 druid的特點 1.druid的誕生時間在dbcp,c3p0 hibernate 之後,吸取優點,彌補了不足。2.druid在效能方面也相當優秀。3.druid允許檢視或者以日誌的方式列印出sql語句。對查錯和除錯非常直觀。4.druid的核心,監控而生 對sql執行監控非常精細...

Druid資料庫連線池

連線池的好處 1 資源重用 2.更快的系統反應速度 3.新的資源分配手段 4.統一的連線管理,避免資料庫連線洩漏 datasource 通常被稱為資料來源,它包含連線池和連線池管理兩個部分。datasource用來取代drivermanager來獲取connection,獲取速度快,同時可以大幅度提...

使用druid資料庫連線池

druid是目前比較流行的資料庫連線池,不管是效能還是各項功能都超越其他連線池,有文章介紹各個連線池效能對比如下 hikaricp druid tomcat jdbc dbcp c3p0。druid不僅具有良好的效能,而且還有sql攔截等功能,並提供介面與介面進行sql分析與統計。com.aliba...