发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 SOA

JDBC事务处理设计

              
2008-03-31 23:04
赞助商链接

一个小项目中使用JDBC访问数据,其中应用到了DAO模式,现在碰到的问题是:
当碰到跨表事务的时候,一个DAO要调用另一个DAO,是事务处理的实现很复杂。
想用一个Transaction对象封装一个Connection,在将Connection对象注入到DAO接口中。但是这里就碰到没有合适的地方关闭statement和resultset的问题?是否也注入,或者还有什么其他解决方案?

不知道这样的设计是否可行,还有什么要注意的~各位高手指点下。

[该贴被ykrocku于2008-03-31 23:11修改过]

2008-04-01 18:13

事务分数据库连接事务和JTA
数据库连接事务只存在一个connection当中,因此这是最简单的事务使用,你使用的就是这种方式,statement和resulset只能用完立即关闭比较好,需要用时再打开。

2008-04-09 14:27

应该是你在Dao里处理事务了。事务粒度太小了。所以造成你不好控制。在Service层控制事务比较好。使用ThreadLocal保存Connection,确认所有的Dao都使用一个Connection。
要是你想方便,使用SPring的JDBC模板好了,能减少很多代码。

JTA事务      事务架构      数据库     

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com