乙個用來存放資料庫連線的容器。當被建立時,容器初始化,建立連線物件。
當使用者需要訪問資料庫是,從容器中獲取連線物件,在訪問完畢以後,歸還連線物件到連線池中。
使用資料庫連線池的好處是:節約資源,使用者訪問更加高效。
該介面為資料庫連線池應該實現的標準介面
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...
資料庫連線池
資料庫連線池概述 資料庫連線是一種關鍵的有限的昂貴的資源,這一點在多使用者的網頁應用程式中體現得尤為突出。對資料庫連線的管理能顯著影響到整個應用程式的伸縮性和健壯性,影響到程式的效能指標。資料庫連線池正是針對這個問題提出來的。資料庫連線池負責分配 管理和釋放資料庫連線,它允許應用程式重複使用乙個現有...