问个关于dao层的问题~

koskoswh12 2010-01-29 03:21:35
dao层一般是放一些关于对数据库的操作的内容,那么开session,开事务和事务提交,关闭session之类的也是放在 dao层吗??
...全文
573 40 打赏 收藏 转发到动态 举报
写回复
用AI写文章
40 条回复
切换为时间正序
请发表友善的回复…
发表回复
koskoswh12 2010-02-02
  • 打赏
  • 举报
回复
好的 谢谢大家了~~~
longlonglong25 2010-02-01
  • 打赏
  • 举报
回复
我感觉DAO层就是封装数据库业务逻辑的。。当然只要不会影响将来维护的话可以加些其他的。。
建议不要混在一起。。。因为势必会影响的。。。
w3329307 2010-01-31
  • 打赏
  • 举报
回复
dao层只做DB
用spring来管理吧
xiaoniushanglu 2010-01-31
  • 打赏
  • 举报
回复
开关session属于事物的控制,应该在model处理
koskoswh12 2010-01-31
  • 打赏
  • 举报
回复
如果将session 和 transaction 放在 service层。
那么在dao层里 如果对数据库进行操作
例如 session.save()这样的方法。这个地方的session怎么来呢? 因为session是在service里open的~
在dao里 还要再开一个? 那不是开了2个session了~
boz 2010-01-30
  • 打赏
  • 举报
回复
MVC 有3层。管理session的这些方法,完全可以放到service层。dao就只管数据方面的东西吧~
van_bo11 2010-01-30
  • 打赏
  • 举报
回复
个人认为应该放在业务逻辑层
licip 2010-01-30
  • 打赏
  • 举报
回复
如果你用ssh框架,你就会体会到这一用法,放到业务里是最好的。而且事务交给spring来给你管理。
leavin521 2010-01-30
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 koskoswh12 的回复:]
好的~谢谢了~~ 其实我就是想知道
Session hsession=HibernateUtil.currentSession();
Transaction tx = hsession.beginTransaction();

这2句代码是不是 放在dao层~
[/Quote]

事务一般都是放在service层中的 ,因为service中 可能会执行多个操作
thiwed 2010-01-30
  • 打赏
  • 举报
回复
我是进来学习的。
wanzhengcheng 2010-01-30
  • 打赏
  • 举报
回复
学习
wskscfgu 2010-01-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dinghun8leech 的回复:]
事务和hibernate的session的管理需要另起一层。dao层只管拿他来做事,不管他的死活。
[/Quote]

正解
vivian1683 2010-01-30
  • 打赏
  • 举报
回复
编号002627
SSE-JAVA 招聘中。。。。。
上海/北京/武汉
? Be responsible for application design, technical design
? Be responsible for application development, unit testing and system integration testing and implementation
? Maintain and design project related documentation
? Troubleshooting critical bugs, critical issues
? Lead junior developers to finish tasks on time
? Bachelor degree or higher with a major in computer engineering or related
? 7+ years experience in solution design and software development
? Proficiency in Java/J2EE related design, development, testing, debugging skills
? Strong developing experience on Oracle or SQL Server
? Good verbal and written communication in Chinese and English
? Airline industry background is a plus

有意向者
请联系QQ635844351
MSN:vivian1683@live.cn
crazylaa 2010-01-30
  • 打赏
  • 举报
回复
DAO只管数据存取。事务应该在service来做。比如不同dao有事务绑定,写在dao就不合适
lyj8808208 2010-01-30
  • 打赏
  • 举报
回复
我的理解,session哪里用到就在哪里get就行,不过要和线程绑在一起,事务处理要在service里做,有可能一个业务要调用几个dao,每个dao都有一个自已的事务是不行的.
jypapgl 2010-01-30
  • 打赏
  • 举报
回复
要看 怎么分层好不好
sotom 2010-01-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wenchao_222 的回复:]
正确。是的。理解相当到位。沙发
[/Quote]



无论你使用不使用框架,都最好抽象出一个service层,将事务加到Serviece层,这样方便事务的回滚,如果加到Dao层,那么业务和数据库操作掺到了一起将很难维护。

这个也是MVC模式最基本的思想。
BearKin 2010-01-29
  • 打赏
  • 举报
回复
其实我感觉LZ你对DAO的概念应该有一定程度的熟悉了 你真正不了解的 是Service用来做什么的

Inhibitory 2010-01-29
  • 打赏
  • 举报
回复
DAO: Data Access Object
顾名思意,只管访问数据,如从数据库。
hp_innovation 2010-01-29
  • 打赏
  • 举报
回复
LZ混淆了.

session和request\response一般都是在action层.不过都是在baseaction中封装.

service层处理事务. 要么事务交给spring声明式管理
加载更多回复(20)

67,512

社区成员

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

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