数据库
首页 > 数据库> > C3P0数据库连接池技术

C3P0数据库连接池技术

作者:互联网

C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0是异步操作的,缓慢的JDBC操作通过帮助进程完成。扩展这些操作可以有效的提升性能。目前使用它的开源项目有hibernate,spring等。是一个成熟的、高并发的JDBC连接池库,用于缓存和重用PreparedStatements支持。c3p0具有自动回收空闲连接功能。hibernate3开始推荐使用他

方式一:在Java代码中直接获取数据库信息,建立数据库连接池

@Test
public void test() throws Exception{
    ComboPooledDataSource cpds = new ComboPooledDataSource(); //建立连接池
    cpds.setDriverClass("com.mysql.jdbc.Driver"); //数据库驱动
    cpds.setJdbcUrl("jdbc:mysql://localhost:3306/test");//数据库地址
    cpds.setUser("root"); //用户名
    cpds.setPassword("123456");//密码 
    Connection conn = cpds.getConnection(); //获取连接
    System.out.println(conn);//打印连接
}

方式二:通过配置来获取数据库信息,建立数据库连接池

@Test 
public static Connection getConnection2() throws SQLException{
    DataSource cpds = new ComboPooledDataSource("myc3p0");//myc3p0和配置中的named-config标签中的name属性相同
    Connection conn = cpds.getConnection();//获取连接
    System.out.println(conn);//打印连接
}    

放在src目录下的配置文件名:c3p0-config.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
    <named-config name="myc3p0">
        <!-- 获取连接的4个基本信息 -->
        <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">123456</property>
'

        <!-- 涉及到数据库连接池的管理的相关属性的设置 -->
        <!-- 若数据库中连接数不足时, 一次向数据库服务器申请多少个连接 -->
        <property name="acquireIncrement">5</property>
        <!-- 初始化数据库连接池时连接的数量 -->
        <property name="initialPoolSize">5</property>
        <!-- 数据库连接池中的最小的数据库连接数 -->
        <property name="minPoolSize">5</property>
        <!-- 数据库连接池中的最大的数据库连接数 -->
        <property name="maxPoolSize">10</property>
        <!-- C3P0 数据库连接池可以维护的 Statement 的个数 -->
        <property name="maxStatements">20</property>
        <!-- 每个连接同时可以使用的 Statement 对象的个数 -->
        <property name="maxStatementsPerConnection">5</property>

    </named-config>
</c3p0-config>

 

标签:jdbc,数据库,C3P0,conn,mysql,cpds,连接池
来源: https://www.cnblogs.com/linglongfang/p/12693540.html