1.事务概念
*什么是事务:事务是数据库操作最基本单元,逻辑上是一组操作,要么都成功,要么都失败
*事务的特性(ACID):原子性、隔离性、一致性、持久性
2.搭建事务操作环境
*模拟场景:Lucy转账100元给Mary
第一步:创建数据库和表
第二步:创建service、dao、对象创建和关系注入,在dao里创建多钱和少钱的方法,在service里创建转账的方法
第三步:Spring事务管理(service层)——开启事务操作->进行业务操作->出现异常则回滚,否则提交事务
3.spring注解方式声明事务管理
在spring配置文件配置事务管理器,引入tx名称空间,开启事务注解,在service类或方法上面添加事务注解
*事务参数配置:
(1)传播行为propagation:
当一个事务方法被另外一个事务方法调用时候,这个事务方法如何执行
(2)隔离级别ioslation:
(3)其他参数
timeout:超时时间,事务需要在一定时间内进行提交,如果不提交则回滚,默认值是-1,设置时间以秒为单位进行计算
readOnly:是否只读,默认值是false,表示可读可写,如果设置成true则只读
rollbackFor:回滚,设置出现哪些异常进行事务回滚
noRollbackFor:不回滚,设置出现哪些异常不进行事务回滚