1. 程式人生 > >java基礎類庫學習 java.sql(7)使用資料庫連線池來管理資料庫連線物件

java基礎類庫學習 java.sql(7)使用資料庫連線池來管理資料庫連線物件

前言:

在實際開發中,如果我們不斷地建立資料庫連線物件,一個數據庫連線物件均對應一個物理資料庫連線,每次操作都開啟一個物理連線,使用完後就立即關閉連線,頻繁的開啟關閉連線會造成系統性能下降

因此實際開發中不推薦頻繁的建立資料庫連線物件,頻繁的開啟物理資料庫連線,頻繁的關閉物理資料庫連線,

如何減少頻繁的開啟連線,關閉連線?

使用資料庫連線池

資料庫連線池的原理:應用程式啟動時,系統自動建立足夠的資料庫連線,並將這些連線組成一個池,當應用程式請求資料庫連線時,無需建立連線,而是從資料庫連線池中取系統已建立好的連線使用,,使用完此連線後,並不關閉連線,而是將此連線還給資料庫連線池

因此使用連線池可以避免頻繁的開啟資料庫連線,頻繁的關閉資料庫連線

資料庫連線池的常用引數?

資料庫的初始連線數

連線池的最大連線數

連線池的最小連線數

連線池每次增加的容量

jdbc對資料庫連線池的支援?

jdbc提供了javax.sql.DataSource介面代表資料庫連線池介面,由其他組織提供對應的資料庫連線池的實現

javax.sql.DataSource資料庫連線池介面的原始碼

public interface DataSource  extends CommonDataSource, Wrapper {
Connection getConnection() throws SQLException;
 Connection getConnection(String username, String password)
    throws SQLException;
}

由開源組織提供對應的資料庫連線池的實現:DBCP和C3P0

DBCP資料庫連線池的使用

(1)需要commons-dbcp.jar(連線池的實現)和commons-pool.jar(連線池實現的依賴庫)

(2)使用DBCP來獲得資料庫連線

C3P0資料庫連線池的使用

(1)需要c3p0-0.9.1.2.jar(連線池的實現)

(2)使用C3-0來獲得資料庫連線