设为首页 加入收藏

TOP

14、Spring之基于注解的声明式事务(五)
2023-09-09 10:25:58 】 浏览:90
Tags:Spring 于注解 明式事
致整个checkout()回滚。

  • 换句话说,只要有一本书买不了,就都买不了。

  • 14.5.5.2、使用方式

    14.5.5.2.1、修改被调用方法的事务传播属性

    image

        // 表示不管是否有已经开启的事务,都要开启新事务
        @Transactional(propagation = Propagation.REQUIRES_NEW)
    
    14.5.5.2.2、执行结账前的数据

    image

    此时id为1的图书(价格为80)库存为100,id为2的图书(价格为50)库存为100

    image

    此时id为1的用户余额为100

    14.5.5.2.3、执行结账时的异常

    image

    14.5.5.2.4、执行结账后的数据

    image

    此时id为1的图书(价格为80)库存为99,id为2的图书(价格为50)库存为100;id为1的图书库存少了一本

    image

    此时id为1的用户余额为100;余额少了80(id为1的图书价格)

    14.5.5.2.5、测试的数据结果分析
    • 同样的场景,每次购买图书都是在buyBook()的事务中执行。

    • 因此第一本图书购买成功,事务结束。

    • 第二本图书购买失败,只在第二次的buyBook()中回滚,购买第一本图书不受影响。

    • 换句话说,能买几本就买几本。

    首页 上一页 2 3 4 5 下一页 尾页 5/5/5
    】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
    上一篇Java - ThreadPoolExecutor线程池.. 下一篇集群部署专题之二:超高性能RPC框..

    最新文章

    热门文章

    Hot 文章

    Python

    C 语言

    C++基础

    大数据基础

    linux编程基础

    C/C++面试题目