项目里代码架构疑惑

ljmat 2010-01-05 12:19:15
学习JavaEE一段时间了,心里总有个疑问:关于DAO层,只写一个DAO和其实现类就已经可以通过业务逻辑层调这个DAO实现对数据库的操作了。心里老想不明白,为什么要为每个实体类写一个DAO呢?求前辈们指教。
...全文
128 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazylaa 2010-01-05
  • 打赏
  • 举报
回复
无语。。。
zhigangxie 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wanli209 的回复:]
用了什么框架?
[/Quote]
与所用的框架有关。
TzSword 2010-01-05
  • 打赏
  • 举报
回复
采用通用泛型写一个共用的类或接口就OK了。。
楼主你想如果我在一个项目中有N个实体,那在写N个DAO那要到猴年马月呀。。。
你的只是初期让你熟悉DAO的编写,方便以后抽象出共有的类或接口做准备的。。。
很好,和我当年想的一样。。。只是我当时就在网上搜资料搞定了。(往事呀。。)
O(∩_∩)O哈哈~ 加油!
道光2008 2010-01-05
  • 打赏
  • 举报
回复
为什么要为每个实体类写一个DAO呢?
当然不是,写一个父dao,共用
dinghun8leech 2010-01-05
  • 打赏
  • 举报
回复
补充下,在不用orm框架时,确实有必要用dao的不同实现类来区别不同数据库的操作。除此之外,还是一个通用的即可搞定。
dinghun8leech 2010-01-05
  • 打赏
  • 举报
回复
我赞同多个业务模型采用一个通用dao的观点,除非dao层混进了本不该混进的业务逻辑,否则所有业务模型操作数据库的动作都是差不多的,dao接口他只提供以面向对象方式操作数据库的服务
欢迎提出不同意见。
lhzx_zjg 2010-01-05
  • 打赏
  • 举报
回复
这样写有很多好处:
1、适用于团体开发
2、结构直观,易修改维护
3、开闭原则
coolbamboo2008 2010-01-05
  • 打赏
  • 举报
回复
4楼说的就是高手了,其实这只是个习惯问题,能做成通用的dao更好
wanli209 2010-01-05
  • 打赏
  • 举报
回复
用了什么框架?
zhangdeyong 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kaoh1631 的回复:]
个人认为:每个实体类写一个DAO就是菜鸟程序员的做法!应该建立通用Dao。

即:
Dao 屏蔽 数据库差异(oracle、mysql、db2等)
Po  屏蔽 数据库表结构差异

每一层都要屏蔽一组差异

[/Quote]哪这样的开发成的系统只适合你自己用!
Thinking_In_IT 2010-01-05
  • 打赏
  • 举报
回复
个人认为:每个实体类写一个DAO就是菜鸟程序员的做法!应该建立通用Dao。

即:
Dao 屏蔽 数据库差异(oracle、mysql、db2等)
Po 屏蔽 数据库表结构差异

每一层都要屏蔽一组差异
panhaichun 2010-01-05
  • 打赏
  • 举报
回复
不复杂的话用个万能DAO对象也是可以的
yaoxingle 2010-01-05
  • 打赏
  • 举报
回复
dao就是数据访问层嘛。。
我们在操作数据库时,需要将数据库中关系型的数据得转化成我们实体对象,也就是实现(ORM)对象关系的映射

所以每个dao对应一个自己实体类

67,515

社区成员

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

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