C3P0Xml工具类
步骤:
- 在成员位置创建一个静态的ComboPooleDataSource对象
- 把c3p0xml文件复制到src 目录下
- 定义静态方法 从的ComboPooleDataSource对象中获取Connection 并返回
- 4 定义一个释放资源的方法
需要使用两个包:
- c3p0-0.9.1.2.jar
- mysql-connector-java-5.1.37-bin.jar
package dbUntils1;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class C3P0xmlUtils {
// 1.在成员位置创建一个静态的ComboPooleDataSource对象
private static ComboPooledDataSource dataSource =new ComboPooledDataSource();
// * 2 把c3p0xml文件复制到src 目录下
// * . 3 定义静态方法 从的ComboPooleDataSource对象中获取Connection 并返回
public static Connection getCollection(){
try {
return dataSource.getConnection();
} catch (SQLException e) {
throw new RuntimeException("获得数据库连接失败"+e);
}
}
//定义一个静态方法 可以返回连接池
public static ComboPooledDataSource getDatesource(){
return dataSource;
}
// * 4 定义一个释放资源的方法
public void close(ResultSet rs, Statement stat,Connection conn){
if (rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stat!=null){
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
使用C3P0Xml 实现类
package dbUntils1;
import org.junit.Test;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Demo02Dbuntil {
@Test
//使用c3p0xml工具类查询
public void test01() throws SQLException {
//1.使用c3p0xml工具类的方法获得connection
Connection conn = C3P0xmlUntil1111.getConnection();
PreparedStatement pst = conn.prepareStatement("SELECT * FROM users;");
//2.执行sql语句 获取结果
ResultSet rs = pst.executeQuery();
while (rs.next()){
System.out.println(rs.getInt("cid")+rs.getString("pname"));
}
//3. 处理结果
C3P0xmlUntil1111.close(rs,pst,conn);
}
}