功能:
- 通過池的概念,來減少頻繁建立和關閉資料庫實體連接配接的資源消耗
- 資料庫連接配接池(資料源),本文主要介紹C3P0
- 建立和關閉資料庫實體連接配接是及其耗費系統資源的,是以使用連接配接池來管理
- 系統啟動時建立一定的資料庫連接配接,将其放入池中,當需要的時候直接從池中拿,用完後再放回池中,這樣避免了資料庫連接配接頻繁打開關閉而造成的系統性能下降問題
-
事情前請先下載下傳對應的jar包
位址:下載下傳位址(2013-03-03有效)
- 下載下傳好之後導入c3p0-0.9.2.jar、mchange-commons-java-0.2.3.3.jar這兩個jar包到您的項目中
- 本文為了清楚的示範将所有的配置資訊都寫在了java檔案中,真實工作中請将其移入配置檔案(xml或者資源檔案)
- 想了解更多?請看:c3p0官方使用指引(2013-03-03有效)
- package com.cxy.jdbc;
- import java.sql.Connection;
- import java.sql.ResultSet;
- import java.sql.Statement;
- import com.mchange.v2.c3p0.ComboPooledDataSource;
- /**
- * @author cxy @ www.cxyapi.com
- */
- public class C3p0Test
- {
- public static void main(String[] args) throws Exception
- {
- ComboPooledDataSource ds=new ComboPooledDataSource();
- ds.setDriverClass("com.mysql.jdbc.Driver"); //加載對應資料庫的驅動
- ds.setJdbcUrl("jdbc:mysql://localhost/dbtest"); //設定資料庫的URL
- ds.setUser("root"); //設定資料庫使用者名
- ds.setPassword("root"); //設定資料庫密碼
- ds.setInitialPoolSize(5); //初始建立連接配接數
- ds.setMinPoolSize(5); //最小連接配接數
- ds.setMaxPoolSize(10); //設定連接配接池最大連接配接數
- ds.setMaxStatements(100); //緩存Statement的最大數
- //當然 配置不僅僅這麼多 如果想知道更多 那麼請看下載下傳下來zip包内有文檔,裡面提供更多更詳盡的配置資訊
- try
- (
- Connection con=ds.getConnection();
- Statement stmt=con.createStatement();
- ResultSet rs=stmt.executeQuery("select * from t_student");
- )
- {
- System.out.println("id\t姓名\t 性别");
- while(rs.next())
- {
- System.out.println(rs.getString(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3));
- }
- }
- }
- }