認識連接池

一、概念

爲應用程序創建固定數量的連接對象,保存在池中進行復用。每次訪問時從池中獲取已存在,使用完畢後,返回池中。

 

二、意義

首先我們要明白,“建立數據庫連接”是相當耗費資源和時間的,同時,建立數據庫連接的數量也是有限的(所以在初學的時候,很多忘了寫關閉連接的朋友在刷新應用幾次之後發現控制檯報錯,還找不到原因,但是重啓一下電腦或者重開一下Eclipse就好了,這就是因爲數據庫連接數量的原因,xe版的oracle最多是在7個到10個左右的樣子)。

爲什麼建立數據庫連接是相當耗費資源和時間的
首先建立TCP連接;然後TCP協議三次握手的發送與相應;客戶端的賬戶驗證,服務器返回確認;用戶驗證後,需要傳輸相關連接變量如是否自動提交事務的設置等,會有多次數據的交互,然後才能執行真正的數據查詢和更新等操作。

 

三、作用

連接池是採用了預先建立多個數據庫連接對象,然後放到連接池裏,當有客戶端請求時,取出一個連接對象爲客戶端服務,當請求完成時,客戶端調用.close()方法,將連接對象放回池中。  在普通的數據庫連接中,客戶端得到的是物理連接,在連接池中,客戶端得到的是連接對象,從使用開始到使用結束,連接對象的物理連接始終沒有關閉,所以我們在一定程度上減少了建立連接所需要的時間,這對多使用、高併發的網站十分有利。

 

四、使用

初學者,連接池通常要引入相關jar包

然後需要配置一些諸如提交事務等的屬性(注意與JDBC的配置不同的是driverClassName,多了一個class)

在Utils文件裏需要如下幾步進行獲取連接對象(通常獲取連接對象的時候是寫在getConnection方法裏,然後加上一些判斷條件,當客戶端沒有結束連接的時候,獲取的連接是上一次的事務的連接(利用ThreadLoacl把事務與線程綁到一起),當第一次訪問時,則是ds.getConnection())

getConnection方法

    


————————————————
版權聲明:本文爲CSDN博主「小小小手手啊」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_41173453/article/details/80032820

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章