java web项目中 大家是怎么做的事务控制呢?
1.用Connection做提交或回滚2.spring的手动式编程控制事务3.spring的声明式事务但是第三种例如我一个业务中要调用update和insert方法,就是...
1.用Connection 做 提交或回滚
2.spring 的 手动式编程控制事务
3.spring 的声明式事务
但是第三种 例如我一个业务中要调用 update 和 insert方法 ,就是 转账给别人钱,如果第一步(update )操作成功,第二步(insert) 操作失败,这个问题 spring 的声明式事务能同时让这两个方法回滚吗?
请求大侠给指导!!! 展开
2.spring 的 手动式编程控制事务
3.spring 的声明式事务
但是第三种 例如我一个业务中要调用 update 和 insert方法 ,就是 转账给别人钱,如果第一步(update )操作成功,第二步(insert) 操作失败,这个问题 spring 的声明式事务能同时让这两个方法回滚吗?
请求大侠给指导!!! 展开
6个回答
展开全部
spring 那种是可以的,一般指定用 @Transaction 指定一个service方法的事务,在service方法里面,只有出现异常(这个异常是可以指定的。),导致这个方法没有正常结束,这个就会数据库回滚。你只有把 Update 和insert写在一个方法里,然后把这个方法加上事务控制,那就可以了。这里面的实现逻辑大概是这样,首先spring获取连接, 我们在service方法里进行数据库的操作,然后方法结束, 如果正常结束,spring提交事务,释放连接。如果异常结束 ,spring 进行回滚,(这个回滚会把这个service方法内所有的修改操作回滚。)释放连接。 大体的流程是这样。至于这些逻辑在数据库层面是如何实现的,我也不知道。
展开全部
用过spring没,用Spring的AOP技术能很好的将事物隔离出来。
Spring声明式事务让我们从复杂的事务处理中得到解脱。
使得我们再也无需要去处理获得连接、关闭连接、事务提交和回滚等这些操作。再也无需要我们在与事务相关的方法中处理大量的try…catch…finally代码。
Spring声明式事务让我们从复杂的事务处理中得到解脱。
使得我们再也无需要去处理获得连接、关闭连接、事务提交和回滚等这些操作。再也无需要我们在与事务相关的方法中处理大量的try…catch…finally代码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以,spring的事物控制不是在service下么 你把2个业务dao放到同一个service下 去执行就可以了
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
采用spring的声明式事务方式,如果update和insert操作处于同一个事务中,一旦有一个操作发生异常,spring会自动将数据回滚为执行update和insert操作前的状态。
默认情况下spring仅在发生运行时异常(RuntimeException)的情况下,才进行回滚,不过这是可以修改的。
希望对你有帮助。
默认情况下spring仅在发生运行时异常(RuntimeException)的情况下,才进行回滚,不过这是可以修改的。
希望对你有帮助。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-04-16
展开全部
insert
追问
能说的详细一点吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |