DAO设计模式

  • 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();
      }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值