Skip to content

Latest commit

 

History

History
107 lines (92 loc) · 2.83 KB

C3P0.md

File metadata and controls

107 lines (92 loc) · 2.83 KB

C3P0

介紹

C3P0 是開源免費的連接池

配置文件要求

  • 文件名稱: 必須校 c3p0-config.xml
  • 文件位置: 必須在 src 下

Example

//c3p0-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
	<!-- 这是默认配置信息 -->
	<default-config> 
		<!-- 连接四大参数配置 -->
		<property name="jdbcUrl">jdbc:mysql://localhost:3306/mydb3</property>
		<property name="driverClass">com.mysql.jdbc.Driver</property>
		<property name="user">root</property>
		<property name="password">123</property>
		<!-- 池参数配置 -->
		<property name="acquireIncrement">3</property>
		<property name="initialPoolSize">10</property>
		<property name="minPoolSize">2</property>
		<property name="maxPoolSize">10</property>
	</default-config>
	
	<!-- 专门为oracle提供的配置信息 -->
	<named-config name="oracle-config"> 
		<property name="jdbcUrl">jdbc:mysql://localhost:3306/mydb1</property>
		<property name="driverClass">com.mysql.jdbc.Driver</property>
		<property name="user">root</property>
		<property name="password">123</property>
		<property name="acquireIncrement">3</property>
		<property name="initialPoolSize">10</property>
		<property name="minPoolSize">2</property>
		<property name="maxPoolSize">10</property>
	</named-config>

</c3p0-config>

//demo8.java
package demo8;

import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.SQLException;

import org.junit.Test;

import com.mchange.v2.c3p0.ComboPooledDataSource;

/**
 * c3p0
 * @author jack870131
 *
 */
public class demo8 {
	@Test
	public void fun1() throws PropertyVetoException, SQLException {
		//創建連接池對象
		ComboPooledDataSource dataSource = new ComboPooledDataSource();
		//對池進行四大參數的配置
		dataSource.setDriverClass("com.mysql.jdbc.Driver");
		dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mydb1");
		dataSource.setUser("root");
		dataSource.setPassword("tyler0131");
		//池配置
		dataSource.setAcquireIncrement(5);
		dataSource.setInitialPoolSize(20);
		dataSource.setMinPoolSize(2);
		dataSource.setMaxPoolSize(50);
		
		//得到連接
		Connection con = dataSource.getConnection();
		System.out.println(con);
		con.close();
	}
	
	@Test
	public void fun2() throws SQLException {
		/**
		 * 在創建連接池對象時,這個對象就會自動加載配置文件,不用我們來指定
		 */
		ComboPooledDataSource dataSource = new ComboPooledDataSource();
		
		Connection con = dataSource.getConnection();
		System.out.println(con);
		con.close();
	}
	
	/**
	 * 使用命名配置信息
	 * <named-config name="oracle-config"> 
	 * @throws SQLException
	 */
	@Test
	public void fun3() throws SQLException {
		ComboPooledDataSource dataSource = new ComboPooledDataSource("oracle-config");
		
		Connection con = dataSource.getConnection();
		System.out.println(con);
		con.close();
	}
}