-
DAO设计模式包括
(1) 每个数据库中的表对应的POJO类
(2) 每个POJO对象对应一个DAO接口,进行对数据表的CRUD的操作
(3) 每个DAO接口的实现类
-
可以使用抽象工厂模式,一个抽象DAOFactory工厂是一个抽象类
(1) 里面提供数据库的类型,用户可以根据类型选择使用哪种数据库对应的工厂
(2) 一组abstract方法用于获得DAO接口(即抽象工厂模式的“产品族”概念)
(3) 示例
public abstract class DAOFactory { // 数据库类型 public static final int ORACLE = 1; public static final int SQLSERVER = 2; public static final int MYSQL = 3; // 获得不同数据库的“工厂” public static DAOFactory getDAOFactory(int databaseType) { switch (databaseType) { case DAOFactory.MYSQL: return new MySQLDAOFactory(); case DAOFactory.SQLSERVER: return new SQLSERVERDAOFactory(); case DAOFactory.ORACLE: return new ORACLEDAOFactory(); default: throw new RuntimeError(); } } // 获得工厂生产的“产品”(即各种DAO接口) public abstract ItemDAO getItemDAO(); public abstract SumDAO getSumDAO(); public abstract PayoutDAO getPayoutDAO(); public abstract ChartDAO getChartDAO(); public abstract IncomeDAO getIncomeDAO(); }
网友评论