什么是DAO

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.
既可保持层次架构,又简便.

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值