spring transaction事务

1. transaction 事务 是什么?

   事务是数据库中的一个执行单元,事务包含的操作动作,要么全部完成,要么完全不起作用。

2. transaction 事务 4个特性(ACID):

    atomicity(原子性):事务是一个不可分割的执行单元,事务包含的操作动作,要么全部完成,要么完全不起作用。

    consistency(一致性):事务完成时,所有的数据保持一致状态

    isolation(隔离性):事务与其他事务应当隔离开来,可能存在许多事务处理相同的数据,导致数据损坏

    durability(永久性):一旦事务提交,那么它对数据库中的数据的改变是永久性的。

3. transaction 事务作用?

    保证数据的完整性和一致性。


4. spring中 事务管理(编程式事务管理和声明式事务管理):

    编程式事务管理:分为2种方式:transactionTemplate、platformTransactionManager,需要额外的添加事务管理代码

    声明式事务管理:它是将事务管理代码从业务方法中分离出来,spring 是通过 spring AOP 来支持声明式事务管理。


   声明式事务管理 spring 官方示例:点击打开链接    

 @Transactional
    public void book(String... persons) {
        for (String person : persons) {
            logger.info("Booking " + person + " in a seat...");
            jdbcTemplate.update("insert into BOOKINGS(FIRST_NAME) values (?)", person);
        }
    }

 

This method is tagged with @Transactional, meaning that any failure causes the entire operation to roll back to its previous state, 
and to re-throw the original exception. This means that none of the people will be added to BOOKINGS if one person fails to be added.

翻译:意味着,任何失败都将引起整个操作回滚到它之前的状态 并且 重新抛出原始异常,如果一个人添加失败,则没有人能被添加到BOOKINGS。





    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值