满足开闭原则的JDBCUtils~

我们都知道开闭原则即为对修改关闭,对拓展开放,那么对于实现既能通过DriverManager连接数据库,也能实现使用c3P0连接数据库,连接数据库的方式即为可变点,我们只需要使用抽象类或者接口封装可变点,再将可变点的每一个具体实现方式用一个类去描述

封装可变点:获取连接对象

package JDBC;

import java.sql.Connection;
import java.sql.SQLException;

public  abstract  class AbstractJDBCUtils {
    
    
    public abstract Connection getConnection() throws SQLException;//用于定义获取连接对象的抽象方法
    //关闭资源的方法
    .........
}

具体实现方式1:通过c3p0数据库连接池获取连接对象

package JDBC;

import com.mchange.v2.c3p0.ComboPooledDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;

public class JDBCFromC3p0Source extends AbstractJDBCUtils{
    
    
    //通过使用c3p0获取连接对象的方法
    .......
    }
}

具体实现方式2:通过DriverManager获取连接对象

package JDBC;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class JDBCFromDriverManager extends AbstractJDBCUtils{
    
    
    @Override
    public Connection getConnection() throws SQLException {
    
    
       //通过DriverManager获取连接对象的方法
    }
}

猜你喜欢

转载自blog.csdn.net/m0_64365419/article/details/133142292