cuiyi's blog(崔毅 crazycy)

记录点滴 鉴往事之得失 以资于发展
数据加载中……

容器,Connection,事务,DAO模式(侧重JDBC分析)

DAO(Data Access Object)模式可以看成是Data Accessor模式 与 Active Domain Object模式;前者实现了数据访问和业务逻辑的分离,后者实现了业务数据的对象化封装。结合在一起即是对数据访问的封装。

  DAO模式往往用于数据库的JDBC操作中,最主要的应该就是事务。JDBC 事务是用 Connection 对象控制的,默认的事务模式是事务自动提交,如果采用“手工”管理,需要把Connection对象的自动提交功能设置为false,即conn.setAutoCommit(false),在提交时使用conn.commit();才正式提交事务。

   DAO的职责:每个类对一个数据表进行维护,即增/删/改只针对一个表,查可以连接多个表并返回业务对象(Business Object)。

   问题就出现在DAO既然只是针对一个数据表进行维护的,但在一个业务逻辑操作中,业务对象可能需要好几个DAO来共同服务。

   一个较好的原则就是一个业务对象的一次具体操作最好能在一个事务中完成。抛开应用服务器提供的可能的JTA不谈,不妨把Connection的获得放到业务对象的方法中,在每个DAO的方法中增加Connection作为参数;在业务对方的方法体最后关闭这个连接。这样,就形式上与多个SQL语句组合在一个事务中有相同的效果。

   另外,对于一些业务对象,其并不涉及多个DAO操作,是否还需要这样来做呢?当然这样做也无可厚非,但不妨在DAO的方法中同时提供有Connection和无Connection参数的两种方法;这样就比较容易处理了。

   虽然JTA及其容器的事务声明方式更简单,但是如果在没有提供JTA功能的容器比如Tomcat下运行,这样也不失为一种解决办法.

   写完了,在封装一些方法时,突然想起来了,如果对连接用的是连接池,Connection创建、关闭好像没有什么问题哦,也就不用上面的方式了。

    附:如果不当之处,请跟贴讨论,拒绝过于偏激的言论。

posted on 2006-05-10 22:28 crazycy 阅读(1599) 评论(5)  编辑  收藏 所属分类: JavaEE技术

评论

# re: 容器,Connection,事务,DAO模式(侧重JDBC分析)  回复  更多评论   

如果想透彻的理解关于dao的事务,
spring提供很很磅
2006-05-10 23:17 | 原创专栏 开源学习

# re: 容器,Connection,事务,DAO模式(侧重JDBC分析)  回复  更多评论   

给个代码实例具体分析!
2006-05-12 10:10 | 红旗的联系

# re: 容器,Connection,事务,DAO模式(侧重JDBC分析)  回复  更多评论   

[url=http://www.htsb.com.cn">http://www.htsb.com.cn]风机消音器[/url][url=http://www.htsb.com.cn">http://www.htsb.com.cn]风机消声器[/url][url=http://www.ntpmmc.obm.cn">http://www.ntpmmc.obm.cn]磨床[/url][url=http://www.ntpmmc.obm.cn">http://www.ntpmmc.obm.cn]平面磨床[/url][url=http://www.fjxsq.obm.cn">http://www.fjxsq.obm.cn]风机消声器[/url][url=http://www.fjxsq.obm.cn">http://www.fjxsq.obm.cn]风机消音器[/url][url=http://www.chinacomposites.com.cn">http://www.chinacomposites.com.cn]玻璃钢格栅[/url][url=http://www.chinacomposites.com.cn">http://www.chinacomposites.com.cn]格栅[/url]
2006-11-07 20:33 | r43r

# re: 容器,Connection,事务,DAO模式(侧重JDBC分析)  回复  更多评论   

不错!不错!
[url=http://www.jinwangtape.com">http://www.jinwangtape.com]透明胶带[/url][url=http://www.jinwangtape.com">http://www.jinwangtape.com]胶带[/url][url=http://www.ntpmmc.obm.cn]磨床[/url][url=http://www.htsb.com.cn">http://www.htsb.com.cn]风机消声器[/url][url=http://www.htsb.com.cn">http://www.htsb.com.cn]风机消音器[/url][url=http://ntscjx.zj.com]离心通风机[/url][url=http://www.cdhhj.obm.cn">http://www.cdhhj.obm.cn">http://www.cdhhj.obm.cn">http://www.cdhhj.obm.cn]过滤器[/url][url=http://www.ccfj.obm.cn]除尘风机[/url][url=http://www.adhesivetape.obm.cn]胶带[/url][url=http://www.cdhhj.obm.cn">http://www.cdhhj.obm.cn">http://www.cdhhj.obm.cn">http://www.cdhhj.obm.cn]消声器[/url][url=http://www.ntnhj.obm.cn]捏合机[/url][url=http://www.ntefj.obm.cn">http://www.ntefj.obm.cn]离心通风机[/url][url=http://www.ntefj.obm.cn">http://www.ntefj.obm.cn]锅炉通风机[/url][url=http://www.chinacomposites.com.cn">http://www.chinacomposites.com.cn]玻璃钢模具[/url][url=http://www.chinacomposites.com.cn">http://www.chinacomposites.com.cn]格栅[/url][url=http://www.qdhhj.obm.cn">http://www.qdhhj.obm.cn]混合器[/url][url=http://www.cdhhj.obm.cn">http://www.cdhhj.obm.cn">http://www.cdhhj.obm.cn">http://www.cdhhj.obm.cn]过滤器[/url][url=http://www.qdhhj.obm.cn">http://www.qdhhj.obm.cn]混合机[/url][url=http://www.fjxsq.obm.cn">http://www.fjxsq.obm.cn]风机消声器[/url][url=http://www.fjxsq.obm.cn">http://www.fjxsq.obm.cn]风机消音器[/url][url=http://www.blggs.obm.cn]玻璃钢格栅[/url][url=http://www.goepe.com/company/show.php?uid=zngfj]除尘风机[/url]
2006-11-17 17:32 | r43r

# re: 容器,Connection,事务,DAO模式(侧重JDBC分析)  回复  更多评论   

[url=http://www.zngfj.com">http://www.zngfj.com]鼓风机[/url][url=http://www.ntznfj.obm.cn]鼓风机[/url][url=http://www.xingdafj.cn]离心风机[/url][url=http://www.ntjhxdjx.com]洗涤机械[/url][url=http://www.tzdfgl.obm.cn]蒸汽锅炉[/url][url=http://www.tzdfgl.cn">http://www.tzdfgl.cn">http://www.tzdfgl.cn">http://www.tzdfgl.cn]蒸汽锅炉[/url][url=http://www.tzdfgl.cn">http://www.tzdfgl.cn">http://www.tzdfgl.cn">http://www.tzdfgl.cn]燃油蒸汽锅炉[/url][url=http://www.ntshop.cn]结晶器[/url][url=http://nthmg.go3.icpcn.com/">http://nthmg.go3.icpcn.com/]风机说明书[/url][url=http://www.bsdfj.com">http://www.bsdfj.com]涂装风机[/url][url=http://www.bsdfj.com">http://www.bsdfj.com]离心风机[/url][url=http://gzjx.91.tc]磨毛机[/url]
[url=http://www.zngfj.com">http://www.zngfj.com]离心鼓风机[/url][url=http://www.chinacomposites.com.cn]格栅[/url][url=http://www.jinwangtape.com]胶带[/url][url=http://nthmg.go3.icpcn.com/">http://nthmg.go3.icpcn.com/]风机说明书制作[/url]
[url=http://www.tzdfgl.cn">http://www.tzdfgl.cn">http://www.tzdfgl.cn">http://www.tzdfgl.cn]燃煤蒸汽锅炉[/url]
2007-05-21 16:45 | jhgj

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问