資料來源(連線池)

2021-10-23 16:57:07 字數 2299 閱讀 9311

最好的連線池是druid,可充當連線池、資料庫訪問監視器、獲取sql執行日誌

手動建立資料來源步驟:

基於c3p0:

combopooleddatasource datasource=

newcombopooleddatasource()

; datasource.

setdriverclass

("com.mysql.jdbc.driver");

datasource.

setjdbcurl

("jdbc:mysql://localhost:3306/test");

datasource.

setuser

("root");

datasource.

setpassword

("root");

connection connection = datasource.

getconnection()

; system.out.

println

(connection)

; connection.

close()

;

基於druid:

druiddatasource datasource =

newdruiddatasource()

; datasource.

setdriverclassname

("com.mysql.jdbc.driver");

datasource.

seturl

("jdbc:mysql://localhost:3306/test");

datasource.

setusername

("root");

datasource.

setpassword

("root");

druidpooledconnection connection = datasource.

getconnection()

; system.out.

println

(connection)

; connection.

close()

;

如載入jdbc(*).properties

jdbc.driver=com.mysql.jdbc.driver

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

jdbc.username=root

jdbc.password=root

//讀取配置檔案

resourcebundle rb = resourcebundle.

getbundle

("jdbc");

string driver = rb.

getstring

("jdbc.driver");

string url = rb.

getstring

("jdbc.url");

string username = rb.

getstring

("jdbc.username");

string password = rb.

getstring

("jdbc.password");

//建立資料來源物件 設定鏈結引數

combopooleddatasource datasource =

newcombopooleddatasource()

; datasource.

setdriverclass

(driver)

; datasource.

setjdbcurl

(url)

; datasource.

setuser

(username)

; datasource.

setpassword

(password)

; connection connection = datasource.

getconnection()

; system.out.

println

(connection)

; connection.

close()

;

資料來源 連線池

資料來源 datasource?連線池connection pool 資料來源與連線池沒有必然聯絡 發現ds與cp的概念有些不清楚 資料來源一般與jndi在一起使用,jndi遮蔽了db的細節資訊,使用jndi獲取資料連線可以不用關心db的具體資訊 使用jndi需要配置資料來源 reference 使...

資料來源與連線池

資料來源 datasource 即資料 呼叫datasource.getconnection 即可獲取乙個連線,而無需關心連到哪個資料庫,使用者名稱 密碼是什麼.這比drivermanager.getconnection url,user,password 要先進多了.我們就通過這個datasour...

資料來源和連線池

datasource通常被稱為資料來源,它包含連線池和連線池管理兩部分,習慣是也把datasource稱為連線池 連線池通俗的理解 資料庫連線池就是準備乙個池子,裡面放著很多生成好的connection,使用者請求獲得連線,就不需要getconnection,值需要從池子裡拿乙個給它就行了,這樣省掉...