调用方法基本不变 变的只是工具类
第三方连接工具类:常用的有2个:DBCP和C3P0(使用前都需要导入框架包)
1.DBCP
public class DBCPUtils {
private static DataSource ds=null;
static{
//创建配置文件的对象
Properties ps=new Properties();
//加载配置文件的内容
try {
//当配置文件放在根目录下
ps.load(new FileInputStream("dbcpconfig.properties"));
//当配置文件放在src目录下
//类加载器:获取文件对象(如class com.Demo01.Test).获取类加载器.把资源变成流
ps.load(DBCPUtils.class.getClassLoader().getResourceAsStream("dbcpconfig.properties"));
//连接池工厂.创建连接池(传入配置文件)
ds=BasicDataSourceFactory.createDataSource(ps);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection lianjie() throws Exception{
Connection con=ds.getConnection();
}
public static void closeAll(PreparedStatement ps,Connection con,ResultSet rs){
//关闭各种资源
if(ps != null){
try{
ps.close();
}catch(Exception e){
e.printStackTrace();
}
}
if(ps != null){
try{
con.close();
}catch(Exception e){
e.printStackTrace();
}
}
if(ps != null){
try{
rs.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
}
2.C3P0(常用,因为简便)
ComboPooledDataSource ds=new ComboPooledDataSource();
在new ComboPooledDataSource()的
括号中:不加参数,读取的是xml文件中<default-config>默认设置,加参数读取的是自定义设置的内容<named-config name=“test”>
public class C3P0Utils {
//只要创建连接池对象就可以了,自动寻找
static ComboPooledDataSource ds=new ComboPooledDataSource();
public static Connection getConnection() throws Exception{
Connection con =ds.getConnection();
return con;
}
public static void closeAll(PreparedStatement ps,Connection con,ResultSet rs){
//关闭各种资源
if(ps != null){
try{
ps.close();
}catch(Exception e){
e.printStackTrace();
}
}
if(ps != null){
try{
con.close();
}catch(Exception e){
e.printStackTrace();
}
}
if(ps != null){
try{
rs.close();
}catch(Exception e){
e.printStackTrace();
}
}
}