publicclassDepartment{privateint id ;private String name;}
publicclassSqlServerUserimplementsIUser{@OverridepublicvoidInsert(User user){
System.out.println("在 SqlServer 中给 user 表添加一条记录....");}@Overridepublic User getUser(int id){
System.out.println("在 SqlServer 中给根据 id 从 user 表中 得到一条记录....");return null;}}
publicclassSqlServerDepartmentimplementsIDepartment{@OverridepublicvoidInsert(Department department){
System.out.println("在 SqlServer 中给 department 表添加一条记录....");}@Overridepublic Department getDepartment(int id){
System.out.println("在 SqlServer 中给根据 id 从 department 得到一条记录....");return null;}}
publicclassDataAccess{privatestaticfinal String db ="sqlServer";publicstatic IUser createUser(){
IUser result = null;switch(db){case"sqlServer":
result =newSqlServerUser();break;case"mySql":
result = null;break;default:break;}return result;}publicstatic IDepartment CreateDepartment(){
IDepartment result = null;switch(db){case"sqlServer":
result =newSqlServerDepartment();break;case"mySql":
result = null;break;default:break;}return result;}}
publicclassDemoEnter{publicstaticvoidmain(String[] args){
User user =newUser();
Department dept =newDepartment();
IUser iu = DataAccess.createUser();
iu.Insert(user);
iu.getUser(1);
IDepartment idept = DataAccess.CreateDepartment();
idept.Insert(dept);
idept.getDepartment(1);}}
public interface IUser { public void Insert(User user); public User getUser(int id);}public interface IDepartment { public void Insert(Department department); public Department getDepartment(int id);}public class User { private int id; private