C3P0连接池

来源:互联网 发布:oracle rowid修改数据 编辑:程序博客网 时间:2024/06/06 07:10
1 C3P0简介

  C3P0是开源免费的连接池!

2 C3P0的使用

  C3P0中池类是:ComboPooledDataSource。

    public void fun1() throws PropertyVetoException, SQLException {

       ComboPooledDataSource ds = new ComboPooledDataSource();

       ds.setJdbcUrl("jdbc:mysql://localhost:3306/mydb1");

       ds.setUser("root");

       ds.setPassword("123");

       ds.setDriverClass("com.mysql.jdbc.Driver");      

       ds.setAcquireIncrement(5) ;

       ds.setInitialPoolSize(20) ;

       ds.setMinPoolSize(2) ;

       ds.setMaxPoolSize(50);

      

       Connection con = ds.getConnection();

       System.out.println(con);

       con.close();

    }

 

c3p0也可以指定配置文件,而且配置文件可以是properties,也可骒xml的。当然xml的高级一些了。但是c3p0的配置文件名必须为c3p0-config.xml,并且必须放在类路径下。

<?xmlversion="1.0"encoding="UTF-8"?>

<c3p0-config>

    <default-config>

       <propertyname="jdbcUrl">jdbc:mysql://localhost:3306/mydb1</property>

       <propertyname="driverClass">com.mysql.jdbc.Driver</property>

       <propertyname="user">root</property>

       <propertyname="password">123</property>

       <propertyname="acquireIncrement">3</property>

       <propertyname="initialPoolSize">10</property>

       <propertyname="minPoolSize">2</property>

       <propertyname="maxPoolSize">10</property>

    </default-config>

    <named-configname="oracle-config">

       <propertyname="jdbcUrl">jdbc:mysql://localhost:3306/mydb1</property>

       <propertyname="driverClass">com.mysql.jdbc.Driver</property>

       <propertyname="user">root</property>

       <propertyname="password">123</property>

       <propertyname="acquireIncrement">3</property>

       <propertyname="initialPoolSize">10</property>

       <propertyname="minPoolSize">2</property>

       <propertyname="maxPoolSize">10</property>

    </named-config>

</c3p0-config>

 

  c3p0的配置文件中可以配置多个连接信息,可以给每个配置起个名字,这样可以方便的通过配置名称来切换配置信息。上面文件中默认配置为mysql的配置,名为oracle-config的配置也是mysql的配置,呵呵。

    public void fun2() throws PropertyVetoException, SQLException {

       ComboPooledDataSource ds = new ComboPooledDataSource();

       Connection con = ds.getConnection();

       System.out.println(con);

       con.close();

    }

    public void fun2() throws PropertyVetoException, SQLException {

       ComboPooledDataSource ds = new ComboPooledDataSource("orcale-config") ;

       Connection con = ds.getConnection();

       System.out.println(con);

       con.close();

    }

0 0
原创粉丝点击