数据库:c3p0链接池的基本使用与配置文件使用

1.c3p0简介:

c3p0 开源免费的连接池!

2.c3p0的使用

c3p0中池类是:ComboPooledDataSource

第一种方式 下面代码 fun1

 3.配置文件的要求:

  • 文件名称必须叫 : c3p0-config.xml
  • 文件位置必须在 src 下.

c3p0-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://localhost:3306/sql1</property>
    <property name="user">root</property>
    <property name="password">root</property>
    
    <!-- 连接池参数 -->
    <!--初始化申请的连接数量-->
    <property name="initialPoolSize">5</property>
    <!--最大的连接数量-->
    <property name="maxPoolSize">10</property>
    <!--超时时间-->
    <property name="checkoutTimeout">3000</property>
  </default-config>

<!-- 专门为oracle提供的配置信息 -->
  <named-config name="oracle-config"> 
    <!--  连接参数 -->
    <property name="driverClass">com.mysql.jdbc.Driver</property>
    <property name="jdbcUrl">jdbc:mysql://localhost:3306/sql3</property>
    <property name="user">root</property>
    <property name="password">root</property>
    
    <!-- 连接池参数 -->
    <property name="initialPoolSize">5</property>
    <property name="maxPoolSize">8</property>
    <property name="checkoutTimeout">1000</property>
  </named-config>
</c3p0-config>

 

package com.tinstu.demo;

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

import org.junit.Test;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class demo {
	@Test
	public void fun1() throws PropertyVetoException,SQLException{
		//创建连接池对象
		ComboPooledDataSource dataSource = new ComboPooledDataSource();
		
		//对池进行四大参数的配置
		dataSource.setAcquireIncrement(5);
		dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/sql1");
		dataSource.setUser("root");
		dataSource.setPassword("root");  ///基本配置
		
		dataSource.setAcquireIncrement(5);   //每次的增量为5
		dataSource.setInitialPoolSize(20);    //初始化链接数
		dataSource.setMinPoolSize(2) ;        // 最少链接数
		dataSource.setMaxPoolSize(50) ;      //最多链接数
		
		Connection conn = dataSource.getConnection();
		System.out.println(conn);
		conn.close();
		
	}
	
	/**
	 * 配置文件的默认配置
	 * @throws SQLException 
	 */
	 public void fun2() throws SQLException {
		 ComboPooledDataSource dataSource = new ComboPooledDataSource();
		 /**
		  * 如果在这里加入新的链接参数,xml中的会被覆盖
		  */
		 Connection conn = dataSource.getConnection();
		 System.out.println(conn);
		 conn.close();
	 }
	 
	 /**
	  * 使用命名配置
	  */
	 @Test
	 public void fun3() throws SQLException {
		 /**
		  * 构造器的参数指定命名配置元素的名称 :oracle-config
		  */
		 ComboPooledDataSource dataSource = new ComboPooledDataSource("oracle-config");
		 /**
		  * 如果在这里加入新的链接参数,xml中的会被覆盖
		  */
		 Connection conn = dataSource.getConnection();
		 System.out.println(conn);
		 conn.close();
	 }

}

 

阅读剩余
THE END