DAO模式

DAO(Data Access Object)顾名思义是一个为数据库或其他持久化机制提供了抽象接口的对象,在不暴露底层持久化方案实现细节的前提下提供了各种数据访问操作。
在实际的开发中,应该将所有对数据源的访问操作进行抽象化后封装在一个公共API中。
用程序设计语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口,在逻辑上该类对应一个特定的数据存储。
DAO模式实际上包含了两个模式,一是Data Accessor(数据访问器),二是Data Object(数据对象),前者要解决如何访问数据的问题,而后者要解决的是如何用对象封装数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java设计模式DAO模式   DAO设计模式    DAO的理解   1、DAO其实是利用组合工厂模式来解决问题的,并没有带来新的功能,所以学的 其实就是个思路。   2、DAO理论上是没有层数限制的。   3、DAO的各层理论上是没有先后的。    DAO模式的本质   一层屏蔽一种变化 " " " "1 "<strong> DAO基础 " " " " " " " "2 "DAO模式是标准的J2EE设计模式之一.开发人员使用这个模式把底层的数据访问操作和上层的商务逻辑分开.一个典型的" " "'DAO实现有下列几个组件: " " " " "3 " " " "1 " " ". 一个DAO工厂类; " "4 " " " " " " "2 " "5 ". 一个DAO接口; " " " " " " " "6 "3 " " ". 一个实现DAO接口的具体类; " " " " " " " " "4 " " ". 数据传递对象(有些时候叫做值对象).</strong> "   下面举例(多层dao接口的实现)   具体实现:   1.dao接口: " " " "1 "package " " "cn.hncu.pattern.dao.dao; " " " " "2 " " " "public " " "interface " "3 "DepDAO { " " " " " " " "4 " " " "public " " "void " "5 "create(String userId, String name); " " " " " " " " "} "   2.dao工厂 " " " "1 "package " " "cn.hncu.pattern.dao.factory; " " " " "2 " " " "import " " "cn.hncu.pattern.dao.dao.DepDAO; " "3 " " " " " " "import " "4 "cn.hncu.pattern.dao.impl.a.factory.F2AFactory; " " " " " " " "5 "import " " "cn.hncu.pattern.dao.impl.b.factory.F2BFactory; " " " " "6 " " " "public " " "class " "7 "F1Factory { " " " " " " " "8 " " " "private " " "F1Factory(){ " "9 " " " " " " " " "10 "} " " " " " " " "11 " " " "public " " "static " "12 "DepDAO getDepDAO(){ " " " " " " " "13 " " " "int " " "type1= " "14 "1 " " "; " " "//第一层工厂的选择类型,按理应该从用户的配置信息中读取,我们这里模拟了 " "15 " " " " " " " " "16 " " " "if " " "(type1== " "17 "1 " " "){ " " " " "18 " " " " " " "return " "19 "F2AFactory.getDepDAO(); " " " " " " " " " " " "} " " "else " " "if " " "(type1== " " "2 " " "){ " " " " " " " " " " " "return " " "F2BFactory.getDepDAO(); " " " " " " " " " " " "} " " " " " " " " " " " "return " " "null " " "; " " " " " " " " " " " "} " " " " " " " " "} "   3.dao实现接口   第二层dao " " " "1 "package " " "cn.hncu.pattern.dao.impl.a.factory; " " " " "2 " " " "import " " "cn.hncu.pattern.dao.dao.DepDAO; " "3 " " " " " " "import " "4 "cn.hncu.pattern.dao.impl.a.rdb.factory.F3A_RDB_Factory; " " " " " " " "5 "import " " "cn.hncu.pattern.dao.impl.b.factory.F2BFactory; " " " " "6 " " " "public " " "class " "7 "F2AFacto

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值