C3P0:C3P0是一個開放源代碼的JDBC連接池,它在lib目錄中與Hibernate一起發佈,包括了實現jdbc3和jdbc2擴展規範說明的Connection 和Statement 池的DataSources 對象。(最新版本:c3p0-0.9.2-pre1.src.zip)
Proxool:是一個Java SQL Driver驅動程序,提供了對你選擇的其它類型的驅動程序的連接池封裝。可以非常簡單的移植到現存的代碼中。完全可配置。快速,成熟,健壯。可以透明地爲你現存的JDBC驅動程序增加連接池功能。(最新版本:proxool-0.9.1.zip)
(以上提供最新的版本爲文章發表時爲準)
C3P0 : 提供兩種獲得連接的方式。
第一種以ComboPooledDataSource類獲得;
ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setDriverClass("com.mysql.jdbc.Driver");
cpds.setJdbcUrl("jdbc:mysql://localhost:3306/test");
cpds.setUser("root");
cpds.setPassword("123456");
第二種以DataSources類獲得;
DataSource ds_unpooled = DataSources.unpooledDataSource("jdbc:mysql://localhost:3306/test", "root", "123456"); DataSource ds_pooled = DataSources.pooledDataSource( ds_unpooled );
兩種方式取得是相同的效果,在spring中常見使用第一種方式獲得DataSource,在Hibernate中使用第二種方式獲得DataSource。具體使用可以根據自己的喜好。C3P0暫時不支持JDBC4。獲得的Connection實例爲com.mchange.v2.c3p0.impl.NewProxyConnection。
Proxool:提供一種通過DriverManager直接獲得Connection,另一種是ProxoolDataSource得到DataSource。
第一種通過DriverManager直接獲得Connection;
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
JAXPConfigurator.configure(“proxool.xml”, false);
ProxoolFacade.addConnectionListener("DBPool", new ConnectionListenerIF());
註冊proxool數據連接池的alias。具體的操作將在後續的文章中介紹或看Api。
通過Proxool獲得Connection是數據庫提供的Driver中的Connection的實例。
其兼容性較好,可以兼容到JDBC4的一些功能。
本人暫時接觸到這兩種數據庫連接池。如果有好的介紹,請留言。謝謝。