有空的时候读读大佬的代码,增长一些有用的知识……
一、事务管理
- 概念
- 事务是一组操作的集合,它是一个不可分割的工作单位,这些操作要么同时成功,要么同时失败。
2. 操作
- 开启事务(一组操作开始前,开启事务) : start transaction / begin ;
- 提交事务(这组操作全部成功后,提交事务) : commit ;
- 回滚事务(中间任何一个操作出现异常,回滚事务): rollback ;
3. 事务特性
原子性、一致性、隔离性、
说明: a、一个事务要么全部提交成功,要么全部失败回滚,不能只执行其中的一部分操作,这就是事务的原子性
B、事务的执行不能破坏数据库数据的完整性和一致性,一个事务在执行之前和执行之后,数据库都必须处于一致性状态。
C、事务的隔离性是指在并发环境中,并发的事务时相互隔离的,一个事务的执行不能不被其他事务干扰。不同的事务并发操作相同的数据时,每个事务都有各自完成的数据空间,即一个事务内部的操作及使用的数据对其他并发事务时隔离的,并发执行的各个事务之间不能相互干扰。
4. 开启事务
a、手动管理
i、org.springframework.transaction.support.TransactionTemplate
| import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.support.TransactionTemplate; @Service public class MyService { @Autowired private TransactionTemplate transactionTemplate; public void performTransaction() { transactionTemplate.execute((status) -> { // 在这里执行你的数据库操作 // 这些操作会在一个事务中执行 // 如果出现异常,事务会自动回滚 return null; }); } } |
ii、org.springframework.transaction.PlatformTransactionManager
| import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.annotation.Transactional; |

1699

被折叠的 条评论
为什么被折叠?



