Spring--事务

(一)、什么是事务

  1. 事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,要么都失败,如果有一个失败所有操作都失败
  2. 典型场景: 银行转账
  3. 事务四大特性(ACID):
    1. 原子性: 不可分割,要么都成功,要么都失败
    2. 一致性:操作之前和操作之后总量不变
    3. 隔离性:两个事务之间互不影响
    4. 持久性:数据放入到数据库中,不会发生变化

(二)、事务场景引入

在转账的时候,一个用户钱增加,一个用户钱减少。那么如果在此期间发生了异常,一个用户钱少了,另一个人的钱却没有增加,这样违反了事务的一致性

 (三)、Spring事务管理

(1)、事务加到哪一层合适

        一般service层,当然,其它层也可以

(2)、在Spring进行事务管理操作

编程式事务管理,声明式事务管理(使用)

 编程式事务管理是try{}catch{},然后成功提交,失败回滚

声明式事务管理

        1. 基于注解

        2. 基于xml方式

(3)、过程

1.   在spring配置文件中配置事务管理器

2. 在spring配置文件中,开启事务

 1)、在spring配置文件中引入名称空间tx

 2)、 开启事务注解

 

3)、在service类上面(获取service类里面方法上面)添加事务注解

       @Transcational,这个注解添加到类上面,也可以添加方法上面

        如果添加到类上面,这个类里面所有的方法都添加事务

        如果添加方法上面,只是为方法添加事务 

注意,添加事务注解之后,刚开始异常处理就不需要了

===================================

4)、事务参数(传播行为)

propagation:  事务的传播行为 
 

 --------------------------------------------

 

(五)、事务参数-隔离级别

隔离级别:  isolation     

隔离性:  多事务操作之家你不会产生影响,不考虑隔离性产生很多问题

                脏读,数据丢失,不可重复读,幻读。  

 

(六)、事务参数---其他参数

timeout:  超时时间      :  事务需要在一定的时间内需要提交,如果不提交,则做事务的回滚

                                         默认为  -1     ,不超时  。不过可以设置,单位是s

readonly:  是否只读   : 默认值是false。表示可以查询,可以添加修改删除操作

                                             设置为true之后,只能查询

rollbackFor:  回滚

                (1)设置出现哪些异常进行事务的回滚

                    (2)设置出现哪些异常不进行回滚

  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值