1. 程式人生 > 程式設計 >Java資料庫連線池c3p0過程解析

Java資料庫連線池c3p0過程解析

首先下載c3p0的jar包

https://mvnrepository.com/search?q=c3p0

匯入jar包到eclipse

將c3p0的jar包放到eclipse中,單擊右鍵,選擇build path,在選擇 add jars

建立連線池物件

ComboPooledDataSource cpd= new ComboPooledDataSource();

設定連線引數

方法一

使用靜態程式碼塊來初始化引數(不推薦)如果資料庫發生改變,原始檔需要重新編寫編譯,專案需要重新部署

static ComboPooledDataSource cpd= new ComboPooledDataSource();
	 static {
		 try {
				cpd.setDriverClass("com.mysql.jdbc.Driver");
				cpd.setJdbcUrl("jdbc:mysql:///users?characterEnconding=utf-8");
				cpd.setUser("root");
				cpd.setPassword("123456");
			} catch (PropertyVetoException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} 
	 }

方法二

在src的目錄下建立c3p0.propertise檔案

c3p0.driverClass=com.mysql.jdbc.Driver
c3p0.jdbcUrl=jdbc:mysql:///users?characterEnconding=utf-8
c3p0.user=root
c3p0.password=123456

方法三

在src目錄下建立 c3po-config.xml檔案

<?xml version="1.0" encoding="UTF-8"?>

   <c3p0-config>


     <default-config>

         <property name="driverClass">com.mysql.jdbc.Driver </property>

         <property name="jdbcUrl">jdbc:mysql:///jt_db?characterEncoding=utf-8 
         </property>

         <property name="user">root </property>

         <property name="password">root </property>

   </default-config>

</c3p0-config>

呼叫連線池物件

//建立連線池物件
ComboPooledDataSource cpd= new ComboPooledDataSource();
  
  public void find() throws Exception {
  	//獲取連線池連線
  	Connection conn = cpd.getConnection();
         //建立傳輸器
  	PreparedStatement ps = conn.prepareStatement("select * from user");
  	 
  	//結果集
  	ResultSet rs = ps.executeQuery();
  	
  	while(rs.next()) {
  		rs.getInt(1);//獲取的行的第一列
  		rs.getString("id");//獲取行的id列
  	}	
  }

連線池物件的close方發被改造了,不是釋放連線而是將連線還給連線池

rs.close();
ps.close();
conn.close();

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。