关于JDBC桥连接模式对应的角色想了很久,如果出错的地方希望大神能够指出,非常感谢!!!!一定要指出!!!
举个JDBC小栗子
步骤一:建立一个桥连接的接口
public interface JDBC_API {
public void connection() ;
}
步骤二:建立多个类(模拟我们发起连接的类)实现该接口
public class Mysql implements JDBC_API {
public void connection() {
System.out.println("我要连接Mysql");
}
}
public class Oracle implements JDBC_API {
public void connection() {
System.out.println("我要连接Oracle");
}
}
public class DB2 implements JDBC_API {
public void connection() {
System.out.println("我要连接DB2");
}
}
步骤三:建立抽象类Driver(模拟厂商的连接数据库),注意:里面要加入接口实例对象
public abstract class Driver {
JDBC_API jdbc;
abstract void createFactory(); //创建数据库的厂商
}
步骤四:建立厂商的实现类
public class MysqlDriver extends Driver {
@Override
void createFactory() {
System.out.println("我是Mysql厂商");
}
}
public class OracleDriver extends Driver {
@Override
void createFactory() {
System.out.println("我是Oracle厂商");
}
}
public class DB2Driver extends Driver {
@Override
void createFactory() {
System.out.println("我是DB2厂商");
}
}
步骤五:建立测试连接DriverManger
public class DriverManager {
public static void main(String[] args){
Driver db=new OracleDriver();
db.createFactory();
System.out.println("------桥 ODBC-----------");
db.jdbc=new Oracle();
db.jdbc.connection();
System.out.println("------请注意:桥连接是可以到达多个地点的,不是特定的 OracleDriver==>Mysql-------");
db.jdbc=new Mysql();
db.jdbc.connection();
}
}