c3p0创建连接池

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c3p0创建连接池相关的知识,希望对你有一定的参考价值。

  c3p0是目前应用最广泛的数据库连接池

  特性:有空闲自动回收连接功能;

     有异步执行功能。

  使用c3p0需要导包,链接https://sourceforge.net/projects/c3p0/

  需要导的包:c3p0-0.9.5.2-sources.jar   mchange-commons-java-0.2.11-sources.jar

  c3p0解压包中doc下有详细使用介绍(全英文)

  核心类:ComboPooledDataSource

  配置文件:必须叫做 c3p0-config.xml

Java代码:

public class C3p0{

  private static ComboPooledDataSource ds = null;

  //静态代码块

  static{

    ds = new ComboPooledDataSource();

  }

  public static Connection getConnection(){   

    try {

      //通过ds得到一个Connection对象
      return ds.getConnection();
    } catch (SQLException e) {
      e.printStackTrace();
    }
    return null;

  }

  

    public static void main(String[] args) {
      for(int i=0; i<5; i++) {

        //在控制台输出连接
        System.out.println(getCon());
      }
    }

}

配置文件:

<c3p0-config>
<!-- 默认配置 -->
<default-config>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property>
<property name="user">root</property>

<property name="password">123123</property>

<!-- 数据库驱动 -->
<property name="driverClass">com.mysql.jdbc.Driver</property>

<!-- 连接池中初始化值 -->
<property name="initialPoolSize">5</property>

<!-- 连接池中最大值 -->
<property name="maxPoolSize">10</property>

<!-- 超过最大值等待时间 -->
<property name="checkoutTimeout">3000</property>
</default-config>

<!-- 通过名字intergalactoApp配置 -->
<named-config name="intergalactoApp">
<property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property>
<property name="user">root</property>
<property name="password">123123</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="initialPoolSize">10</property>
<property name="maxPoolSize">20</property>
<property name="checkoutTimeout">5000</property>
</named-config>
</c3p0-config>

 

以上是关于c3p0创建连接池的主要内容,如果未能解决你的问题,请参考以下文章

C3P0连接池

Spring c3p0连接池配置

使用 c3p0 连接数据库

Spring c3p0连接池配置

C3P0连接池的使用

C3P0连接池的使用