c3p0连接池

C3P0连接池简介

  C3P0也是开源免费的连接池!C3P0被很多人看好,我们后面也是用它!

  需要导包:

      

  案例:

package cn.cmlx.c3p0;

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

import org.junit.Test;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class c3p0demo {
    @Test
    public void fun() throws PropertyVetoException, SQLException {
        //创建连接池对象
        ComboPooledDataSource dataSource = new ComboPooledDataSource();
        //配置池的四大参数
        dataSource.setDriverClass("com.mysql.jdbc.Driver");
        dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test");
        dataSource.setUser("root");
        dataSource.setPassword("123");
        
        //池配置
        dataSource.setAcquireIncrement(5);
        dataSource.setInitialPoolSize(20);
        dataSource.setMinPoolSize(2);
        dataSource.setMaxPoolSize(50);
        
        Connection con = dataSource.getConnection();
        System.out.println(con);
        con.close();
    }
}

 C3P0连接的配置文件使用

配置文件要求:

  * 文件名称:必须叫c3p0-config.xml

  * 文件位置:必须在src下

案例:

package cn.cmlx.c3p0;

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

import org.junit.Test;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class c3p0demo {
    @Test
    public void fun() throws PropertyVetoException, SQLException {
        //创建连接池对象
        ComboPooledDataSource dataSource = new ComboPooledDataSource();
        //配置池的四大参数
        dataSource.setDriverClass("com.mysql.jdbc.Driver");
        dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test");
        dataSource.setUser("root");
        dataSource.setPassword("123");
        
        //池配置
        dataSource.setAcquireIncrement(5);
        dataSource.setInitialPoolSize(20);
        dataSource.setMinPoolSize(2);
        dataSource.setMaxPoolSize(50);
        
        Connection con = dataSource.getConnection();
        System.out.println(con);
        con.close();
    }
    
    /**
     * 配置文件的默认配置
     * @throws SQLException 
     */
    @Test
    public void fun2() throws SQLException {
        /**
         * 在创建连接池对象时,这个对象就会自动加载配置文件!不用自己指定
         */
        ComboPooledDataSource dataSource = new ComboPooledDataSource();
        Connection con = dataSource.getConnection();
        System.out.println(con);
        con.close();
    }
    /**
     * 使用命名配置信息
     * <namet-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();
    }
    
}

 

posted @ 2018-08-22 10:10  cmlx  阅读(89)  评论(0)    收藏  举报