`
java虫
  • 浏览: 533311 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

学习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>

  • 大小: 5.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics