什么是DAO
来源:互联网 发布:angular数据绑 编辑:程序博客网 时间:2024/06/05 03:30
DAO(Database Access Object),顾名思义就是数据库访问接口,也就是和数据库打交道操作对象.而这些操作往往可以从系统的业务逻辑中独立出来,从而使系统中的数据库操作变得统一和简单化(相对于数据库具体操作混合业务逻辑操作),而且也可以使得系统在和数据库交互出错时,更快的定位问题.
总而言之,我觉得,使用DAO的目的是,将数据控制层和业务逻辑控制层分离开,这样不仅更有利于项目开发时的功能划分和工作分配(负责数据层的人员只注重数据操作,负责业务逻辑控制的开发人员只关注业务逻辑,使得各人的分工简化明晰),在项目维护时也更容易定位和解决问题.
我对DAO层的理解是:DAO层只对数据访问(一般是访问数据库)进行管理,不涉及具体业务逻辑。
使用DAO很重要的一个原因是 单元测试。分开的service和dao可以单独测试。dao做数据库继承测试,service做mock模拟测试。
如果你的service里涉及除dao之外的业务逻辑,比如计算这个那个之类的,分离测试的好处就非常非常明显。
现在我就建一个实现常用接口的DAO Class,通过spring配置不同的DAO Object,90%以上的DAO Class都不用写了.做了一个30个table的App,只写了2个DAO Class.
既可保持层次架构,又简便.
- 什么是DAO
- 什么是DAO
- 什么是DAO
- 什么是DAO
- 什么是DAO
- 什么是DAO
- 什么是DAO?
- 什么是DAO
- 什么是DAO
- 什么是DAO
- 什么是DAO
- 什么是orm和Dao
- 浅谈什么是DAO模式
- 浅谈什么是DAO模式
- 什么是Dao层?
- 传智播客---什么是JDBC 什么是DAO模式
- 什么是"hibernate",什么是DAO设计模式???
- 什么是PO,VO,TO,BO,DAO,POJO?
- 正则表达式备忘
- 利用Jakarta commons fileupload组件实现多文件上传
- 可灵活定制HTML控件有效性校验项目的JAVASCRIPT对象组件
- 批处理中 使用组合命令
- SQL Server 事务日志的问题
- 什么是DAO
- 如何编写高质量的程序 内存管理
- 关于编译器与解释器的区别
- 结果集前台罗列显示
- 前台碎片
- PetShop3.0场景幕后实现(上)
- 终于试出来了Splitter了
- Label,HyperLink,Image控件
- ubuntu 编译qtopia模拟环境