DAO模式的好处是什么?

吃肉的兔子 2013-05-19 07:53:13
作为一个初学者在学习的过程中知道DAO模式。但是不知道他具体的好处有哪些?
...全文
1476 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
Intboy 2013-05-27
  • 打赏
  • 举报
回复
mvc分层
will_Lau 2013-05-27
  • 打赏
  • 举报
回复
DAO是mvc模式的数据操作层,对数据持久化
ZZZ5512536 2013-05-27
  • 打赏
  • 举报
回复
把操作数据库的SQL专门放DAO里面统一管理,比如将来需要更换数据库时候,只需要修改DAO就可以了.不然你将SQL写在service层,需要修改的时候,你就得到处找哪儿有SQL语句了.
无聊找乐 2013-05-26
  • 打赏
  • 举报
回复
DAO模式? 这也能算是模式吗?
weilus 2013-05-26
  • 打赏
  • 举报
回复
对于DAO的叫法 那么一定是分层设计 称dao层 DAO(data access objects)数据访问对象,一般包含(javabean,connection数据库链接,CRUD操作接口与实现,dao工厂)。dao层对于service层,service只关心从工厂中得到dao对象,实现针对接口编程而达到并行开发的目的,实现工厂模式而达到减少耦合的目的(不管dao的实现是jdbc技术还是其他技术实现)service只依赖工厂
BlackKOL 2013-05-26
  • 打赏
  • 举报
回复
把一群用jdbc护database的类分别放在不同监狱里,好管理,好菊爆
  • 打赏
  • 举报
回复
dao是mvc中的一层,用来直接操纵数据库,再与control层相接,这样当你更换别的数据库的时候只需改dao层中的部分代码即可,也就是持久化层。。。
sjlzcj 2013-05-26
  • 打赏
  • 举报
回复
DAO(data access objects) 在DAO层中,只是专注于数据的操作 基本的有 数据的 增删改查 还有分页等 好处就是 将数据或者说数据载体与业务逻辑分离,当数据载体或数据结构变化的时候不会直接影响到业务逻辑也就是service层的代码 例如 当前的数据载体是 数据库(oracle也好,MYSQL也好) 新的需要到了 ,需要数据载体为文件,那么只需根据dao接口提供 文件的对应操作即可
齐岳 2013-05-24
  • 打赏
  • 举报
回复
这叫持久层,专门负责对数据库数据进行操作,方便维护。如果数据库语言或框架改变,也只需在本层修改,不影响业务层。 其他业务层需要查询修改等业务操作时,只需要调用持久层接口或方法,将参数传入便可得到想要的结果。
eyezhouyu 2013-05-24
  • 打赏
  • 举报
回复
引用 3 楼 lkclkc88 的回复:
我个人的理解dao不是一个模式,甚至不只是链接数据库。 我个人将dao层理解为组件,一群支撑service的功能的基本实现,它可能是炒作数据库,也可能只是处理一个基本的文件读写,甚至只是一个排序,一个加减法。
处理文件读写,排序的之类的 ,这些不应该放在dao中,应该写一个工具类操作
big_scorpio 2013-05-23
  • 打赏
  • 举报
回复
相对于servlet,DAO的存在大部分是为了理清思路,代码简洁易懂
蝴蝶Poj 2013-05-23
  • 打赏
  • 举报
回复
只是一种对外提供一种 接口。方便以后对数据库的更改设置!
anderolujun 2013-05-23
  • 打赏
  • 举报
回复
层次清晰,分工明确,dao就做数据访问工作,service只处理业务逻辑。 另外就是方便单元测试了,单元测试的话dao关注数据库测试,service做mock测试。 如果项目开发分工一部分关注数据库交互,一部分只关注业务逻辑,这样的分工就挺明确(虽然经常实际按功能模块分工)。 另外,区分dao和service对于代码维护,较快错误定位都有帮助。 当然,如果数据处理简单的话,并且数据访问方式不会改变,dao与service合并还是可以的,这样也可以减少不少工作量
z82932386 2013-05-20
  • 打赏
  • 举报
回复
DAO对于初学者来说,可以理解为模式,但是这是一个分层模式:将项目分为3层,数据层,业务层,交互层。每层所写的内容均是分开的,主要是方便代码编写,有一些清楚的逻辑。防止初学者在写代码过程中出现思路混乱等问题。
ps4nanari 2013-05-20
  • 打赏
  • 举报
回复
DAO使程序层次分明,把对数据库的操作都放在这一层,这样其他层的逻辑控制就变得清晰明了了。 对于实现业务逻辑而言,DAO层是基石。 而且分层后DAO的代码维护与变更等也变得清晰可理解。
w2221121 2013-05-20
  • 打赏
  • 举报
回复
分离开来便于管理,有层次感
冰河1258888 2013-05-20
  • 打赏
  • 举报
回复
调理清晰,专门用于操作持久层
AnswerDW 2013-05-19
  • 打赏
  • 举报
回复
个人觉得不是模式,只是JDBC中方便程序管理,使程序显得更有层次
  • 打赏
  • 举报
回复
我个人的理解dao不是一个模式,甚至不只是链接数据库。 我个人将dao层理解为组件,一群支撑service的功能的基本实现,它可能是炒作数据库,也可能只是处理一个基本的文件读写,甚至只是一个排序,一个加减法。
小区保安 2013-05-19
  • 打赏
  • 举报
回复
DAO不是模式吧。
加载更多回复(1)

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧