c3p0创建连接池

别来无恙 提交于 2019-12-26 05:27:24

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

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

     有异步执行功能。

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

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

  链接:http://pan.baidu.com/s/1jIJ16KY 密码:5clh

  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>

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!