wordpress 热门用户,云优化 网站建设,北丰科技网站建设,新宾区网站建设1、 Spring事务管理 事务管理#xff1a;本质是使用spring管理事务#xff0c;完成数据库对于事务的支持。 事务#xff1a;一系列对数据库操作的集合#xff0c;一个操作错误#xff0c;所有都必须回滚#xff0c;其特点是acid。 #xff08;1#xff09;事务并发存在…1、 Spring事务管理 事务管理本质是使用spring管理事务完成数据库对于事务的支持。 事务一系列对数据库操作的集合一个操作错误所有都必须回滚其特点是acid。 1事务并发存在问题 脏读事务读取数据无效。事务T1将某一值修改然后事务T2读取该值此后T1因为某种原因撤销对该值的修改。 不可重复读一个事务范围内两个相同的查询却返回了不同数据。由于查询时系统中其他事务修改的提交而引起的。侧重对同一个数据的修改。 幻读多个事务操作统一数据集。同样的条件, 由于事务T2的修改第 1 次和第 2 次读出来的记录数不一样。侧重对数据集的增加和删除。 丢失更新事务T2操作覆盖了事务T1的操作。 2spring事务管理方法 编程式事务管理(编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager)可以做到代码块事务的细粒度。 声明式事务管理建立在AOP之上的其本质是对方法前后进行拦截然后在目标方法开始之前创建或者加入一个事务在执行完目标方法之后根据执行情况提交或者回滚事务。就不需要在业务逻辑代码中掺杂事务管理的代码。 (包括两种方法:基于tx和aop名字空间的xml配置文件/基于Transactional注解对dao层注释) Transactional (propagationPropagation.NOT_SUPPORTED) public class MyBatisServiceImpl implements MyBatisService { Autowired private MyBatisDao dao; Override public void insert(Test test) { dao.insert(test); 事物传播行为是PROPAGATION_NOT_SUPPORTED以非事务方式运行不会存入数据库 //抛出unchecked异常触发事物回滚 throw new RuntimeException(test); } 3事务隔离级别 若干个并发的事务之间的隔离程度。 4事务传播行为 在开始当前事务之前一个事务上下文已经存在此时有若干选项可以指定一个事务性方法的执行。 转载于:https://www.cnblogs.com/xiongchang95/p/8966683.html