正文
DataSourceUtils(使用C3P0连接池的工具类)
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
一.导入jar包(c3p0-0.9.1.2.jar)
2.添加配置文件(放在src下)
配置文件的名称:c3p0.properties 或者 c3p0-config.xml 放在src之下
c3p0.properties
请特别注意配置文件的key
c3p0.driverClass=com.mysql.jdbc.Driver c3p0.url=jdbc:mysql://localhost:3306/数据库名称 c3p0.user=用户名 c3p0.password=密码
3.编写类(放在utils包下)
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DataSourceUtils {
private static ComboPooledDataSource ds=new ComboPooledDataSource();
/**
* 获取数据源
* @return 连接池
*/
public static DataSource getDataSource(){
return ds ;
}
/**
* 释放资源
* @param conn
* @param st
* @param rs
*/
public static void CloseResource(Connection conn,Statement st , ResultSet rs){
closeResultSet(rs);
closeStaement(st);
closeConn(conn);
}
/**
* 获取连接
* @return 连接
* @throws SQLException
*/
public static Connection getConnection() throws SQLException{
return ds.getConnection();
}
/**
*释放连接
* @param conn
* 连接
*/
public static void closeConn(Connection conn){
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
conn = null ;
}
}
}
/**
* 释放语句执行者
* @param st
* 语句执行者
*/
public static void closeStaement(Statement st){
if(st!=null){
try {
st.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
st = null ;
}
}
}
/**
* 释放结果集
* @param rs
* 结果集
*/
public static void closeResultSet(ResultSet rs){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
rs = null ;
}
}
}
}
import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.sql.DataSource; import com.mchange.v2.c3p0.ComboPooledDataSource; public class DataSourceUtils { private static ComboPooledDataSource ds=new ComboPooledDataSource(); /** * 获取数据源 * @return 连接池 */ public static DataSource getDataSource(){ return ds ; } /** * 释放资源 * @param conn * @param st * @param rs */ public static void CloseResource(Connection conn,Statement st , ResultSet rs){ closeResultSet(rs); closeStaement(st); closeConn(conn); } /** * 获取连接 * @return 连接 * @throws SQLException */ public static Connection getConnection() throws SQLException{ return ds.getConnection(); } /** *释放连接 * @param conn * 连接 */ public static void closeConn(Connection conn){ if(conn!=null){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); }finally{ conn = null ; } } } /** * 释放语句执行者 * @param st * 语句执行者 */ public static void closeStaement(Statement st){ if(st!=null){ try { st.close(); } catch (SQLException e) { e.printStackTrace(); }finally{ st = null ; } } } /** * 释放结果集 * @param rs * 结果集 */ public static void closeResultSet(ResultSet rs){ if(rs!=null){ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); }finally{ rs = null ; } } } }