创建C3P0连接池的工具类
* 连接的规范接口:
* javax.sql.DataSource接口
* 接口的实现类对象
* ComboPooledDataSource
* 成员位置创建ComboPooledDataSource对象
* 使用静态代码块给ComboPooledDataSource设置4大数据量连接信息
* 创建一个静态方法返回Connection对象
* 创建一个静态方法释放资源
public class C3P0Utils {
//成员位置创建ComboPooledDataSource对象
private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
//使用静态代码块给ComboPooledDataSource设置4大数据量连接信息
static{
try {
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mybase4");
dataSource.setUser("root");
dataSource.setPassword("root");
} catch (Exception e) {
throw new RuntimeException("设置连接信息失败!");
}
}
//创建一个静态方法返回Connection对象
public static Connection getConnection(){
try {
return dataSource.getConnection();
} catch (SQLException e) {
throw new RuntimeException("获取数据库连接信息失败!");
}
}
//定义一个释放资源的方法
public static 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();
}
}
}
}
创建读取XML配置文件的C3P0工具类
public class C3P0UtilsReadXML {
//成员位置创建ComboPooledDataSource对象
private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
//使用静态代码块给ComboPooledDataSource设置4大数据量连接信息
/*static{
try {
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mybase4");
dataSource.setUser("root");
dataSource.setPassword("root");
} catch (Exception e) {
throw new RuntimeException("设置连接信息失败!");
}
}*/
//创建一个返回ComboPooledDataSource的方法
public static DataSource getDataSource(){
return dataSource;
}
//创建一个静态方法返回Connection对象
public static Connection getConnection(){
try {
return dataSource.getConnection();
} catch (SQLException e) {
throw new RuntimeException("获取数据库连接信息失败!");
}
}
//定义一个释放资源的方法
public static 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();
}
}
}
}
DBCP连接池
创建DBCP连接池的工具类
* 连接的规范接口:
* javax.sql.DataSource接口
* 接口的实现类对象
* BasicDataSource
* 重写getConnection方法