c3p0是一个开源的数据库连接池。是目前spring支持的两种连接之一。
下载地址:http://sourceforge.net/projects/c3p0/
将下载来的jar包和对应数据库的连接驱动一起放在WEB-INF\lib下即可
使用c3p0之前要先进行配置
配置文件为c3p0-config.xml。文件名不能修改,并且 一定要放在 工程\ WebRoot\WEB-INF\classes下
使用前要修改数据库连接url串,帐号,密码,其余的用默认的就行
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<default-config>
<property name="user">xkxt</property>
<property name="password">xkxt</property>
<property name="driverClass">oracle.jdbc.driver.OracleDriver</property>
<property name="jdbcUrl">jdbc:oracle:thin:@114.215.175.28:1521:ORCL</property>
<!-- 连接池初始化时建立的连接数 默认值是3 -->
<property name="initialPoolSize">3</property>
<!-- 连接的最大空闲时间 单位秒 默认是0-代表永远不会断开连接 超过设定时间的空闲连接将会断开 -->
<property name="maxIdleTime">30</property>
<!-- 连接池中拥有的最大连接数 默认值为15个 -->
<property name="maxPoolSize">20</property>
<!-- 连接池中保持的最小连接数 默认值为3个-->
<property name="minPoolSize">3</property>
<!-- 将连接池的连接数保持在minpoolsize 必须小于maxIdleTime设置 默认值为0代表不处理 单位秒 -->
<property name="maxIdleTimeExcessConnections">15</property>
</default-config>
</c3p0-config>
配置好后就可以开始编写,数据库连接工具类(使用单例模式)
DBUtils:
package org.dxlab.xkxt.util;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mchange.v2.c3p0.ComboPooledDataSource;
/**
* 数据库连接工具,
* @author jy
*
*/
public class DBUtils {
private static ComboPooledDataSource dataSource;
private static DBUtils me=new DBUtils();
private DBUtils() {}
public static DBUtils getInstance()
{
return me;
}
static{//静态块,读取c3p0默认配置文件
dataSource = new ComboPooledDataSource();
}
/**
* 获取数据库连接
* @return conn
*/
public Connection getConn()
{
Connection conn = null;
try {
conn = dataSource.getConnection();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
/**
* 释放数据库资源
* @param conn
* @param pstmt
* @param rset
*/
public void ReleaseRes(Connection conn,PreparedStatement pstmt,ResultSet rset)
{
try{
if(rset!=null) rset.close();
if(pstmt!=null) pstmt.close();
if(conn!=null) conn.close();
}catch(SQLException e)
{
e.printStackTrace();
}
}
}