Jquery中文網 www.afdoqc.live
Jquery中文網 >  腳本編程  >  java  >  正文 一種實現數據庫連接池的方法(1)

一種實現數據庫連接池的方法(1)

發布時間:2019-10-11   編輯:www.afdoqc.live
jquery中文網為您提供一種實現數據庫連接池的方法(1)等資源,歡迎您收藏本站,我們將為您提供最新的一種實現數據庫連接池的方法(1)資源
<script>ec(2);</script>
數據庫連接池在編寫應用服務是經常需要用到的模塊,太過頻繁的連接數據庫對服務性能來講是一個瓶頸,使用緩沖池技術可以來消除這個瓶頸。我們可以在互聯網上找到很多關于數據庫連接池的源程序,但是都發現這樣一個共同的問題:這些連接池的實現方法都不同程度地增加了與使用者之間的耦合度。很多的連接池都要求用戶通過其規定的方法獲取數據庫的連接,這一點我們可以理解,畢竟目前所有的應用服務器取數據庫連接的方式都是這種方式實現的。但是另外一個共同的問題是,它們同時不允許使用者顯式的調用Connection.close()方法,而需要用其規定的一個方法來關閉連接。這種做法有兩個缺點:
第一:改變了用戶使用習慣,增加了用戶的使用難度。
首先我們來看看一個正常的數據庫操作過程:
int executeSQL(String sql) throws SQLException
{
    Connection conn = getConnection();    //通過某種方式獲取數據庫連接
    PreparedStatement ps = null;
    int res = 0;
    try{
        ps = conn.prepareStatement(sql);
        res = ps.executeUpdate();
}finally{
try{
ps.close();
}catch(Exception e){}
try{
    conn.close();//
}catch(Exception e){}
}
return res;
}
使用者在用完數據庫連接后通常是直接調用連接的方法close來釋放數據庫資源,如果用我們前面提到的連接池的實現方法,那語句conn.close()將被某些特定的語句所替代。
第二:使連接池無法對之中的所有連接進行獨占控制。由于連接池不允許用戶直接調用連接的close方法,一旦使用者在使用的過程中由于習慣問題直接關閉了數據庫連接,那么連接池將無法正常維護所有連接的狀態,考慮連接池和應用由不同開發人員實現時這種問題更容易出現。
綜合上面提到的兩個問題,我們來討論一下如何解決這兩個要命的問題。
首先我們先設身處地的考慮一下用戶是想怎么樣來使用這個數據庫連接池的。用戶可以通過特定的方法來獲取數據庫的連接,同時這個連接的類型應該是標準的java.sql.Connection。用戶在獲取到這個數據庫連接后可以對這個連接進行任意的操作,包括關閉連接等。

您可能感興趣的文章:
一種實現數據庫連接池的方法(2)
Tomcat下配置SQLServer連接池的方法步驟
asp.net性能優化方法-數據庫訪問性能優化
jdbc連接oracle數據庫方法
DB2數據庫設計和最高性能原則
NoSQL數據庫之MongoDB入門詳解
Cobar基于MySQL的分布式數據庫服務中間件
Tomcat配置SQLServer連接池
asp.net性能優化方法-啟用應用程序池
簡單的數據庫連接工廠實現

[關閉]
英格兰足球队