学习Dao模式

 

Dao模式相信程序员xdjm都应该知道,一个非常经典的模式

用了很长时间,在此总结一下.

.什么是DAO

DAODataAccessObject数据访问接口,

.DAO的功能:

<v:shapetype id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" filled="f" stroked="f" coordsize="21600,21600" o:spt="75"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" o:extrusionok="f" gradientshapeok="t"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype>

1.与数据库打交道。夹在业务逻辑与数据库资源中间。

2.DAO是把对数据库的操作(比如最基本的CRUD操作)全部封装在里面.

.DAO的实现

1.一个DAO工厂类;
2.
一个DAO接口;
3.
一个实现DAO接口的具体类;
4.
数据传递对象VO(有些时候叫做值对象).<o:p></o:p>

如果使用一些框架如spring+hibernate<o:p></o:p>

只需写dao的接口和实现即可以了,而且jdk1.5已经支持泛型,可以写一个BaseDaoSupport,<o:p></o:p>

把常用的通用的方法抽象出来,这样写dao就更简单了.<o:p></o:p>

.DAO的好处<o:p></o:p>

非常常用的写法Service+Dao<o:p></o:p>

1. 数据库操作代码(Dao)和业务逻辑代码(Service)分开

2 .DAO层有助于分层结构的清晰

3.Service中可以操作多个dao,进行多表操作.,如果用spring的声明事务,可以把多表操作纳入到一个事务当中.

4.便于在不用数据库实现间的切换,如果有这种需求.

5.有利于项目开发时的功能划分和工作分配, 项目维护时也更容易定位问题

6.降低耦合, 易维护

  关于Dao的使用,每个人都有自己的看法,总之简单实用就好.<o:p></o:p>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值