package cn.itcast.test;
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.SQLException;
import org.junit.Test;
import com.mchange.v2.c3p0.ComboPooledDataSource;
/**
* 演示c3p0连接池
* @author 国真
* 1. 需要两个jar包:c3p0-0.9.2-pre1.jar 和 mchange-commons-0.2.jar
* 2. fun1()使用代码来创建连接池对象
* fun2()使用默认配置,<default-config>
* fun3()使用命名配置,<name-config name="mysqlConfig">
*/
public class Demo {
@Test
public void fun1() throws PropertyVetoException, SQLException{
//创建连接池对象
ComboPooledDataSource ds = new ComboPooledDataSource();
//连接参数配置(四大参数)
ds.setDriverClass("com.mysql.jdbc.Driver");
ds.setJdbcUrl("jdbc:mysql://localhost:3306/test");
ds.setUser("root");
ds.setPassword("admin");
//池配置省略
//获取连接
Connection connection = ds.getConnection();
System.out.println(connection.getClass().getName()); //返回connection对象所代表的具体对象的名称
connection.close();
}
@Test
public void fun2() throws PropertyVetoException, SQLException{
//创建连接池对象
ComboPooledDataSource ds = new ComboPooledDataSource();
Connection connection = ds.getConnection();
System.out.println(connection.getClass().getName());
connection.close();
//关闭池连接
ds.close();
}
@Test
public void fun3() throws PropertyVetoException, SQLException{
//创建连接池对象
ComboPooledDataSource ds = new ComboPooledDataSource("mysqlConfig"); //若给出了参数,则该参数就是<name-config>的名称
Connection connection = ds.getConnection();
System.out.println(connection.getClass().getName());
connection.close();
//关闭池连接
ds.close();
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<c3p0-config>
<default-config>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="user">root</property>
<property name="password">admin</property>
<property name="acquireIncrement">3</property>
<property name="initialPoolSize">10</property>
<property name="minPoolSize">2</property>
<property name="maxPoolSize">10</property>
</default-config>
<name-config name="mysqlConfig">
<property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="user">root</property>
<property name="password">admin</property>
<property name="acquireIncrement">3</property>
<property name="initialPoolSize">10</property>
<property name="minPoolSize">2</property>
<property name="maxPoolSize">10</property>
</name-config>
</c3p0-config>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。