packagecn.itcast.tools;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjavax.sql.DataSource;importcom.mchange.v2.c3p0.ComboPooledDataSource;/*a). 私有,静态成员变量:ComboPooledDataSource 并创建对象;加载配置文
件的默认配置。
b). 公有,静态成员方法:public static DataSource getDataSource(),此方法返
回C3P0连接池对象;
c). 公有,静态成员方法:public static Connection getConnection(),此方法返回
通过C3P0连接池获取的Connection对象;使用本地线程 ThreadLocal*/
public classJDBCUtils {private static ComboPooledDataSource dataSource =newComboPooledDataSource();private static ThreadLocal local=new ThreadLocal();public staticDataSource getDataSource() {returndataSource;
}public staticConnection getConnection(){
Connection con=local.get();if(con==null) {try{
con=dataSource.getConnection();
local.set(con);
}catch(SQLException e) {
e.printStackTrace();
}
con=local.get();
}returncon;
}public static voidclose(Connection con,Statement st,ResultSet rs) {if (rs != null) {try{
rs.close();
}catch(SQLException e) {
e.printStackTrace();
}
}if (st != null) {try{
st.close();
}catch(SQLException e) {
e.printStackTrace();
}
}if (con != null) {try{
con.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
}
}