请问在实际的业务开发过程中什么时候需要设置事务

请问在实际的业务开发过程中什么时候需要设置事务

问题描述:

在老师的视频中,为什么只有创建订单这个方法加上了事务,而其他方法没有加上事务?

相关截图:

http://img1.sycdn.imooc.com//climg/6077e6fd0910bce713150382.jpg


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,一般在修改数据库中数据的时候需要用事务。使用事务是为了保证数据库的完整性,保证SQL语句要么全部执行,要么全部不执行。

在当前类中,只有当前creat方法涉及了修改数据库,所以要加上事务,其他方法都是查询方法,并不涉及修改数据库,所以不用添加事务。

祝学习愉快!

  • cloudonthesun 提问者 #1

    那其他类(Order,Product,Category等)的涉及修改数据库的方法,为什么没有加上事务呢

    2021-04-15 17:42:31
  • 好帮手慕小班 回复 提问者 cloudonthesun #2

    同学你好,1、当前事务可以这样理解,保证了数据的一致性,比 如:小明给小王转100元钱,小明的账户减100,小王的账户加100。如果小明的的账户减100之后,出现了异常。事务的一致性会对数据进行回滚。将小明账户的钱恢复。如果没有事务,就会出现小明少了钱,小王没有收到,从而出现数据不一致的情况。

    在本类中,为了保持数据的一致性,选择购物车中的对应商品及数量生成订单,同时减去对应库存中的商品数量,这就可以理解为一个联合操作,它们要么全部执行,要么全部不执行,所以要添加一个事务。

        2、而在Product中,只执行一个数据的修改,因为只有一条数据操作,要么执行成功,要么执行失败,只有这两种结果,所以此时不加事务也是可以的,并不影响项目的效果。

        不过同学也可以在这些类中添加事物,执行效果是一样的。

    祝学习愉快!

    2021-04-15 18:11:41
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师