事务为什么要作用在service层次上,不作用在dao层

1、什么是事务

数据库操作,要么执行完成,要么什么都不做。执行过程中出现异常,要返回执行前状态。

场景:网上购物

1)更新用户所订购商品

2)付款记录插入数据库(实际不付款)

3)订单信息插入

分析:至少共操作了3次数据库。

如果作用在dao层上:

将会开启3个事务,其中有一个环节出现错误,只有这一个事务会回滚,但是不影响其他两个操作。

如果作用在server上:

将会开启一个事务,只要其中有一个环节出现错误,事务将回滚。这3次操作数据库都无效。

说白了:每个事务就相当于管道,要么通,要么不通。网上购物这三次操作数据库,其实是一个业务逻辑处理,所以只有一个管道。

事务

未完待续

转载于:https://my.oschina.net/wrs/blog/610645

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值