[c3p0] 第一篇:簡單認識c3p0,

來源:互聯網
上載者:User

[c3p0] 第一篇:簡單認識c3p0,
前言

譯文是根據c3p0-0.9.5.1版本的官方文檔,加上自己的理解,整理翻譯而成。能力有限,譯文內容如果有誤或是理解有偏差,還請大家糾正!


什麼是c3p0

c3p0是一個非常好用的jar類庫,根據jdbc3規範和jdbc2規範的標準擴充部分定義實現,使得傳統的JDBC更適合企業級開發。在0.9.5版本中,c3p0完全支援jdbc4規範。

c3p0提供了幾個有用的服務:

1、擷取資料庫連接的方式,由傳統的基於DriverManager的JDBC驅動擷取轉換為新的javax.sql.DataSource模式擷取。
2、串連池和PreparedStatement隱藏在DataSource後面,DataSource可以“封裝”傳統的驅動或者是任何不帶串連池的DataSource。

該庫力圖得到正確的細節:

1、c3p0資料來源都是Referenceable(可引用的)和Serializable(可序列化的),因此適合綁定基於JNDI的命名服務。

2、當把從串連池中取出的Connection和Statement放回串連池的時候,Statement和ResultSet將被仔細的清理,預防因懶惰採用僅僅清理Connection的資源管理原則而導致的資源耗盡的情況發生。

3、該庫採用由JDBC2和3規範定義的方法(這和庫作者自身的喜好有些衝突)。DataSource採用JavaBean規範編寫,提供了所有必須屬性和很多可選屬性(包含一些非標準屬性),無慘構造器。所有JDBC規範定義的內部介面都被實現(ConnectionPoolDataSource,PooledConnection,ConnectionEvent-generating Connections,etc),你可以混合使用c3p0和第三方組件(但並不是所有的c3p0特性都能很好的相容外部ConnectionPoolDataSource實現)。

c3p0希望提供更加適合大規模“JavaEE企業級應用”的DataSource實現。如果發現bug或是修複bug,請聯絡官方!


起步使用

c3p0最初的設計目的就是要使用簡單,只需要把jar檔案lib/c3p0-0.9.5.1.jar放在應用程式有效CLASSPATH中,然後建立DataSource即可:

import com.mchange.v2.c3p0.*;...ComboPooledDataSource cpds = new ComboPooledDataSource(); cpds.setDriverClass( "org.postgresql.Driver" ); //loads the jdbc driver cpds.setJdbcUrl( "jdbc:postgresql://localhost/testdb" ); cpds.setUser("dbuser"); cpds.setPassword("dbpassword"); 
[可選項]如果你想使用PreparedStatement池,你必須設定maxStatements和maxStatementsPerConnection兩個參數(預設值都是0):
cpds.setMaxStatements( 180 );
無論你想用DataSource做什麼,它都會被一個用預設參數初始化過的串連池支援。你可以綁定資料來源到一個JNDI服務,或者是直接使用,完全依據你的喜好。
當你完成任務後,你可以清理已建立的資料來源:
cpds.close();

基本的使用就是這樣了!剩下的都是細節問題。


先決條件

c3p0-0.9.5.1需要1.6.x或以上的Java Runtime Environment。


jar引入

把檔案lib/c3p0-0.9.5.1.jar和lib/mchange-commons-java-0.2.10.jar放在程式CLASSPATH下(或者其它類載入器可以找到的地方)。就是這樣了!

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關關鍵詞:
相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.