1. 程式人生 > >c3p0數據庫連接池使用

c3p0數據庫連接池使用

combo pack .sql getname ack jar cast cti clas

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>

c3p0數據庫連接池使用