c3p0连接池的简单配置

来源:互联网 发布:qq网络传输协议 编辑:程序博客网 时间:2024/06/06 12:25
    c3p0是一个开源的jdbc连接池。它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。

要用到的Jar包:
这里写图片描述
配置数据源(常用):

<c3p0-config>    <named-config name="myc3p0">        <!-- 指定连接数据源的基本信息 -->        <property name="user">scott</property>        <property name="password">scott</property>        <property name="driverClass">oracle.jdbc.driver.OracleDriver</property>        <property name="jdbcUrl">jdbc:oracle:thin:@localhost:1521:orcl</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>

配置连接池:

package com.c3p0.test;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import com.mchange.v2.c3p0.ComboPooledDataSource;public class JDBCC3P0Tools{    private static ComboPooledDataSource dataSource = null;    //数据库连接池只被初始化一次    static{        dataSource = new ComboPooledDataSource("myc3p0");    }    public static Connection getConnection() throws Exception{        return dataSource.getConnection();    }    public static void close(ResultSet rs, Connection conn, Statement stmt){        if (rs != null) {            try {                rs.close();            } catch (SQLException e) {                e.printStackTrace();            }        }        if (stmt != null) {            try {                stmt.close();            } catch (SQLException e) {                e.printStackTrace();            }        }        if (conn != null) {            try {                conn.close();            } catch (SQLException e) {                e.printStackTrace();            }        }    }}
1 0
原创粉丝点击