資料庫連線池

2021-10-24 23:32:40 字數 1605 閱讀 9285

乙個用來存放資料庫連線的容器。當被建立時,容器初始化,建立連線物件。

當使用者需要訪問資料庫是,從容器中獲取連線物件,在訪問完畢以後,歸還連線物件到連線池中。

使用資料庫連線池的好處是:節約資源,使用者訪問更加高效。

該介面為資料庫連線池應該實現的標準介面

getconnection 從連線池獲取連線,返回乙個connection物件

當對該方法返回的connection物件呼叫close方法是,並不是銷毀該連線,而是將該連線歸還到資料庫連線池中。

常用連線池實現有兩個:

c3p0

druid 阿里巴巴連線池

使用步驟為,

匯入jar包

定義配置檔案

建立核心物件 資料庫連線池物件

其中c3p0和druid的使用存在有微小的差別,c3p0使用xml作為配置檔案。而druid則使用.properties做為配置檔案。

同時,druid建立資料庫連線池時,當需要應用不同配置時,

datasource datasource = druiddatasourcefactory.createdatasource(profile);
應該提供載入了不同配置檔案的properties物件。

而在c3p0中,如果需要應用不同的配置

combopooleddatasource polldatasource = new combopooleddatasource("student");
只需要標識指定不同的配置的name屬性值就可以了,不過不提供的話,那麼將使用預設配置。

還有一點區別就是在申請超過最大連線數的連線時,c3p0會阻塞到有空閒的連線,而druid會丟擲異常。

使用spring jdbc以後,就不需要再手動申請釋放statement。

使用步驟:

匯入jar包

建立jdbctemplated物件,依賴於資料來源datasource

呼叫jdbctemplate的方法完成crud操作

如:

jdbctemplate jdbctemplate = new jdbctemplate(druidutil.getdatasource());

string sql = "update test set manay=? where name=?";

system.out.println(jdbctemplate.update(sql, 200, "張三"));

update 執行所有dml語句,返回int值標誌影響的函式

queryformap 將查詢的記錄封裝為map。既然是封裝為map也就意味著該方法只適合單條記錄的情況

queryforlist 封裝為list

在接受到資料以後,它將自動封裝。

如:

jdbctemplate jdbctemplate = new jdbctemplate(druidutil.getdatasource());

string sql = "select * from student";

queryforobject 將查詢到的資料封裝為指定物件 第二個引數提供轉換型別的位元組碼檔案。一般用於查詢結果為單行單列的資料

資料庫連線池 Redis連線池

基本原理 在內部物件池中,維護一定數量的資料庫連線,並對外暴露資料庫連線的獲取和返回方法。如外部使用者可通過getconnection方法獲取資料庫連線,使用完畢後再通過releaseconnection方法將連線返回,注意此時的連線並沒有關閉,而是由連線池管理器 並為下一次使用做好準備。2.作用 ...

資料庫連線池

實現資料連線池,讓系統有更高有執行效率 using system using system.data using system.data.sqlclient using system.collections using system.threading public class dataaccess...

資料庫連線池

資料庫連線池概述 資料庫連線是一種關鍵的有限的昂貴的資源,這一點在多使用者的網頁應用程式中體現得尤為突出。對資料庫連線的管理能顯著影響到整個應用程式的伸縮性和健壯性,影響到程式的效能指標。資料庫連線池正是針對這個問題提出來的。資料庫連線池負責分配 管理和釋放資料庫連線,它允許應用程式重複使用乙個現有...