A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 血剑无痕 中级黑马   /  2013-10-10 06:36  /  2025 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.sql.Connection;
import java.sql.SQLException;

import javax.sql.DataSource;

import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DataSourceUtil
{
  private static DataSource ds;
  static
  {
//      读取c3p0的配置文件
      ds =new ComboPooledDataSource();
  }
  public static DataSource getDataSource()
  {
      return ds;
  }
  public static Connection getConn()
  {   Connection conn = null;
      try  {
              conn = ds.getConnection();
              }
      catch (SQLException e)
      {
        e.printStackTrace();
            }
    return conn;
      
  }
}
链接数据库的c3p0的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>

    <default-config>
        
        <property name="checkoutTimeout">30000</property>

        <property name="idleConnectionTestPeriod">30</property>
      
        <property name="initialPoolSize">2</property>

        <property name="maxIdleTime">30</property>
     
        <property name="maxPoolSize">5</property>
   
        <property name="minPoolSize">2</property>
   
   
        <property name="maxStatements">50</property>
        
        <property name="acquireIncrement">3</property>
        <property name="driverClass">com.mysql.jdbc.Driver</property>
        <property name="jdbcUrl">
            <![CDATA[jdbc:mysql://127.0.0.1:3306/db909?useUnicode=true&characterEncoding=UTF-8]]>
        </property>
        <property name="user">root</property>
        <property name="password">root</property>
    </default-config>
</c3p0-config>
通过这个工具类就可以链接数据库了

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

3 个回复

倒序浏览
这个连接池可以连接mysql或者postgre sql 即一些其他的主流数据库不能?我知道的是连接oracle数据库。

回复 使用道具 举报
C3P0是一个开源的JDBC连接池,是为了解决有限且极其耗费资源的Connection对象的创建问题,我们可以通过它事先创建一些Connection对象,然后他们放在一个容器里面,在我们使用的时候我们只需要从容器里面取出相应的Connection对象即可。
在我们实际开发中还有一些比较常用的连接池。dbcp连接池,他是apache的一个开源项目,和c3p0的功能相似,但是dbcp没有自动的去回收空闲连接的功能,而c3p0具有这个功能。
回复 使用道具 举报
花生壳 发表于 2013-10-10 08:38
这个连接池可以连接mysql或者postgre sql 即一些其他的主流数据库不能?我知道的是连接oracle数据库。

...

主流数据库都可以连接mysql oracel
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马