事务:数据库操作最基本单元,逻辑上一组操作有一个失败所有操作都失败
特征:
(1)原子性
(2)一致性
(3)隔离性
(4)持久性
1.事务添加到JavaEE三层结构里面Service层(业务逻辑层)
2.Spring进行事务管理操作
(1)编程式事务管理
(2)声明式事务管理(主流)
#1.基于xml配置文件方式
#2.基于注解方式(主流)
3.Spring声明事务管理,底层使用AOP原理
4.Spring事务管理API
提供一个接口,代表事务管理器,接口针对不同框架提供不同实现类。
事务操作(注解声明式事务管理)
1.Spring配置文件配置事务管理器
2.Spring配置文件 ,开启事务注解
(1)spring配置文件引入名称空间tx
propagation:事务传播行为
Isolation:事务隔离级别
脏读:一个未提交事务读取到另一个未提交事务的数据
不可重复读:一个未提交事务读取到另一个已提交事务修改数据
虚读:一个未提交事务读取到另一个已提交事务添加数据
MySQL默认Repeatable read
timeout:超时时间
1.事务需要在一定时间内进行提交,如果不提交进行回滚
2.默认值是-1,设置时间以秒单位进行计算
readonly:是否只读
1.读:查询操作,写:添加修改删除操作
2.readOnly默认false,表示可以查询添加修改删除操作
3.设置readOnly为true,只能查询
rollbackFor:回滚
设置出现哪些异常进行事务回滚
norollbackFor:不回滚
1.设置出现哪些异常不进行事务回滚
事务操作(完全注解声明式事务管理)