標籤:
第一步:匯入dbcp包
第二步:通過核心類串連資料
BasicDataSource它是javax.sql.DataSrouce的子類。
一個工具類:BasicDataSourceFactory。
手工通過代碼串連資料庫:
BasicDataSource ds = new BasicDataSource(); //設定driver ds.setDriverClassName("com.mysql.jdbc.Driver"); //設定url ds.setUrl("jdbc:mysql:///db909?characterEncoding=UTf8"); ds.setPassword("1234"); ds.setUsername("root"); ds.setMaxActive(5) ;//設定最多有幾個串連 ds.setInitialSize(2);//設定在開始時建立幾個串連
手工串連,不建議這麼做。
第三步:建立一個資源檔
在dbcp中一個類專門用於讀取資源檔的:
BasicDataSourceFactory
#以下所有屬性,都來自於BaiscDataSource的setXxxx
//增加一個設定檔jdbc.propertiesdriverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql:///db909username=rootpassword=1234maxActive=3Properties p = new Properties(); p.load(DbcpPool.class.getResourceAsStream("jdbc.properties")); DataSource ds = new BasicDataSourceFactory().createDataSource(p) ;
第四步、使用串連池
在一個項目中,就只能擁有一個DataSource的執行個體。在這個dataqSource3中有多個Connectioin。
聲明一個工廠類,建立維護唯一的一個DataSource
package cn.itcast.utils;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;import javax.sql.DataSource;import org.apache.commons.dbcp.BasicDataSourceFactory;public class DataSourceUtils { private DataSourceUtils(){} private static DataSource ds; static{ try{ Properties p = new Properties(); p.load(DataSourceUtils.class.getClassLoader() .getResourceAsStream("jdbc.properties")); ds = new BasicDataSourceFactory().createDataSource(p); }catch(Exception e){} } //返回一個唯一的串連 public static Connection getCon(){ Connection con = null; try { con = ds.getConnection(); } catch (SQLException e) { e.printStackTrace(); } return con; } //提供一個方法返回DataSource public static DataSource getDs(){ return ds; }}
java學習筆記—第三方資料庫連接池包1(29)