spring的事务管理
2018-03-14 本文已影响10人
维乾
事务概念
1.什么是事务
事务是对数据库操作中最基本的单元,对数据库操作一组数据时,要么都成功,有一个失败,都失败
2事务的特性
原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
3不考虑隔离性会产生几个读问题
脏读:A事务中读取到了B事务中未提交的数据,造成数据错误
不可重复读:A事务中读取到了B事务中已提交的数据,在特定情景下会产生影响,比如生成统一的数据报表
虚读(幻读):A事务中读取到了B事务中已提交的新插入的数据,影响同上
4解决读问题
(1)设置隔离级别
,Spring事务管理api
第一种编程式事务管理(不用)
第二种声明式事务管理
(1)基于xml配置文件实现
(2)基于注解实现
2spring事务管理的api介绍
.声明式事务管理(xml配置)
第一步 配置事务管理器
第二步配置事务增强
第三步配置切面
.声明式事务管理(注解)
第一步 配置事务管理器
第二步 配置事务注解
第三步 在要使用事务的方法所在类上面添加注解