`
keney_oak
  • 浏览: 27295 次
社区版块
存档分类
最新评论

Spring 事物回滚

    博客分类:
  • java
阅读更多

有时候事物Spring 事物不回滚 注意点

假设 methodA 函数 里面调用除了自己的业务逻辑 还有 methodB 方法

 

1 想要回滚 try catch 中抛出 一个异常(默认是运行时异常)

2 增加 @Transactional(readOnly = false,rollbackFor = Exception.class)

3 两个方法都要抛出异常 要么 1自己捕获抛出,2要么向上抛出

 

/***
     * 第1业务个sql
     */
    @Transactional(readOnly = false,rollbackFor = Exception.class)
    public void methodA() {
        try {
            //update 修改SQL1业务
            String a = "UPDATE TABLE1 SET FirstName = 'Fred' WHERE LastName = 'Wilson'";
           
            this.methodB();//修改SQL2
        } catch (Exception e) {
            throw new RuntimeException();//抛出异常
        }
    }

 

 

    /**
     * 第二个业务sql
     */
    public void methodB() {
        try {
            // update 修改SQL2业务
            String b = "UPDATE TABLE2 SET FirstName = 'Fred' WHERE LastName = 'Wilson'";
        } catch (Exception e) {
            throw new RuntimeException(e);//抛出异常
        }
    }

 

 

 

 

分享到:
评论

相关推荐

    spring-控制事物回滚

    "spring-控制事物回滚"这个主题主要涉及Spring如何在出现异常时自动或手动触发事务的回滚,以及如何配置和使用Spring的事务管理机制。我们将深入探讨Spring事务管理的原理、API使用以及在实际开发中的应用。 首先,...

    Spring中的@Transactional事物回滚实例源码

    首先,`@Transactional`是Spring提供的一个编程式事务管理方式,它允许我们在方法上声明事务属性,如传播行为、隔离级别、读写模式以及是否回滚。例如: ```java @Service public class UserService { @...

    4.Spring中的JdbcTemplate,Spring中的的事务,

    ### Spring中的JdbcTemplate #### JdbcTemplate概述 JdbcTemplate是Spring框架提供的一种用于简化JDBC编程的对象。通过封装原生的JDBC API,JdbcTemplate不仅提高了代码的可读性和可维护性,还帮助开发者避免了...

    Spring Boot多数据源(支持Spring声明式事务切换和回滚).pdf

    《Spring Boot多数据源(支持Spring声明式事务切换和回滚)》 Spring Boot多数据源技术是构建高效、灵活的多租户SaaS架构的关键。在本文中,我们将深入探讨如何实现动态数据源切换,支持Spring声明式事务管理,并讨论...

    spring事物传播测试表

    本文将深入探讨“Spring事物传播测试表”所涉及的知识点。 首先,理解事务是非常重要的。在数据库操作中,事务确保数据的一致性和完整性。例如,一组相关的数据库操作要么全部成功,要么全部失败,这就是事务的ACID...

    事物简单总结(偏向Spring事物)

    如果@Transactional注解的方法中抛出了未检查异常(继承自RuntimeException的异常)或在配置中明确指定的检查异常,Spring会自动回滚事务。如果抛出其他异常,Spring默认不会回滚事务,除非手动设置。 最后,我们来...

    Spring事物配置的五种模式

    当执行该方法时,Spring会自动开启一个新的事务,并在方法结束后提交或回滚事务。 #### 五、编程式事务管理 这种方式通过编程的方式显式地控制事务的开始、提交和回滚。这种方式适用于那些无法使用声明式事务的...

    浅谈Spring中@Transactional事务回滚及示例(附源码)

    这种场景就可以使用@Transactional事物回滚。 二、checked异常和unchecked异常 checked异常和unchecked异常是Java语言中异常处理的两种类型。checked异常是指程序中可以预测的异常,例如无效的用户输入、文件不...

    spring的5中事物配置 介绍spring的5中事物配置

    这里的`@Transactional`会告诉Spring如何处理方法内部的事务,包括传播行为、隔离级别、超时和回滚规则等。 3. **基于XML的声明式事务管理(Declarative Transaction Management via XML)** - 在XML配置文件中,...

    Spring异常捕获且回滚事务解决方案

    Spring 异常捕获且回滚事务解决方案 在 Spring 框架中,异常捕获和回滚事务是非常重要的概念。今天,我们将讨论如何在 Spring 中捕获异常并回滚事务。 首先,让我们了解一下 Spring 的事务机制。当我们在 Spring ...

    spring-tx事物源码

    在这个源码中,我们可以深入理解Spring如何处理事务的生命周期、回滚规则以及与各种数据源的集成。 首先,`spring-tx`模块主要包含以下几个关键组件: 1. **PlatformTransactionManager**: 这是Spring事务管理的...

    spring中事物配置

    在Spring框架中,事务管理是实现业务逻辑时不可或缺的一部分,它确保了数据的一致性和完整性。...在实际项目中,根据具体需求,你可能还需要调整事务的传播行为、隔离级别、回滚规则等属性,以满足复杂的应用场景。

    第十四章 Spring4 切面事物与事物通知与传播行为

    本章将详细探讨Spring4中的切面事务处理、事物通知以及传播行为。 一、切面编程(AOP) 切面编程是Spring框架的一大特色,它允许开发者将关注点如日志记录、事务管理等从主业务逻辑中分离出来,形成独立的模块,即...

    Spring事务管理Demo

    在Spring框架中,事务管理是核心特性之一,它允许开发者以声明式或编程式的方式处理应用中的事务。Spring事务管理的目的是确保数据的一致性和完整性,尤其是在多操作、多资源的环境中。本Demo将深入探讨Spring如何...

    spring事物管理配置的5种方式

    在Spring框架中,事务管理是核心功能之一,它确保了数据操作的一致性和完整性。本文将详细介绍Spring事务管理配置的五种方式,帮助你更好地理解和掌握这一关键概念。 首先,Spring事务管理通常涉及三个主要部分: ...

    最新版本SpringCloud+seata+nacos实现全局事物处理的demo案例

    模拟订单和库存的一个简单案例实现,注册到nacos配置中心,通过feign远程调用模拟异常进行全局事物回滚。 内含sql文件,nacos、seata安装包以及对应seata配置所需的script脚本(也可自行官网下载) ...

    spring事物的五种配制方法

    3. **第四种方法:编程式事务管理**:通过手动编写代码来控制事务的开始、提交和回滚。适用于事务管理较为复杂的场景。 - **特点**:灵活性高,可以实现更为复杂的事务逻辑。 - **适用场景**:适用于事务处理逻辑...

    spring 事物底层原理分析1

    - **PlatformTransactionManager**:事务管理器接口,负责事务的开启、提交、回滚等操作。 - **TransactionStatus**:事务运行时状态接口,用于获取事务的状态信息。 API 示例: ```java public class ...

    spring事物

    在IT领域,Spring框架是Java开发中的一个核心组件,尤其在企业级应用中,它扮演着至关重要的角色。Spring事务管理是其核心特性之一,它为应用程序提供了强大的事务控制能力,确保了数据的一致性和完整性。本文将深入...

Global site tag (gtag.js) - Google Analytics