1、事务的概念
- 事务就是一组独立不可分割的工作单元,事务中的操作要不全部执行,要不就全都不执行
- 最直观的一个事务实例,如下所示
- 当前有两张表,分别是账户表(account_table)和商品库存表(inventory_table)
- 如果现在要完成张三的下单业务,要扣减购买商品的100件库存,同时还要扣除张三的账户余额
- 我们编写代码的话,对这两张表进行操作,如果出现用户账户余额不足(即SQL执行失败),那我们就需要考虑是否还要扣减商品库存?这就是事务
- 我们在这一业务中要保证要不这两张表同时改变,要不就都不改变
2、Spring事务的实现方式和实现原理
2.1、Spring事务的实现原理
- Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,Spring是无法提供事务功能的。
- 即会调用数据库设置手动事务
set autocommit=0
,之后通过commit
提交和rollback
回滚,数据库底层是通过binlog
或者redo log
实现的
2.2、Spring事务的实现方式
1)编程式
- 编程式(编程控制事务),
beginTransaction()、commit()、rollback()
等事务管理相关的方法
- 但是编程式会造成代码重复荣誉
2)声明式
- 可以利用Spring自带的
@Transaction
注解或者AOP配置
posted @
2022-08-02 13:53
OnlyOnYourself-Lzw
阅读(
31)
评论()
编辑
收藏
举报