`
cfan_haifeng
  • 浏览: 122156 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

spring-控制事物回滚

阅读更多

      4年来一直在ssi中用spring控制事物。这回把spring+ibatis摘出来吧,以供不时之需。

 

      applicationContext.xml

 

<!--
		spring事务管理 方法一-->
	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>
	<aop:config>
		<aop:pointcut id="serviceOperation" expression="execution(*
		com.*.service.*.*(..))" />
		<aop:advisor pointcut-ref="serviceOperation" advice-ref="txAdvice" />
	</aop:config>

	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="insert*" rollback-for="Exception" />
			<tx:method name="save*" rollback-for="Exception" />
			<tx:method name="update*" rollback-for="Exception" />
			<tx:method name="delete*" rollback-for="Exception" />
			<tx:method name="*" read-only="true" rollback-for="Exception" />
		</tx:attributes>
	</tx:advice>

 

主要java代码:

 

public void insertAccounts(List<Account> accountList) {

		for (int i = 0; i < accountList.size(); i++) {
			System.out.println(""+i);
			if(i==2){
				//注释到就可以全部插入,否则spring的事物会让他们全部不插入,ACID
				int s=2/0;//抛出异常
			}
			this.accountDao.insertAccount(accountList.get(i));
		}
	}

 

 

  另外,附件也上传了一份jdbc的事物源代码,这个是复制自别人的的,可惜忘了地址,抱歉。

分享到:
评论

相关推荐

    spring-控制事物

    标题中的“spring-控制事务”指的是Spring框架中的事务管理功能,这是Spring的核心特性之一,用于在多层架构中实现数据库事务的一致性和可靠性。在Java企业级应用开发中,事务管理是至关重要的,确保数据操作的原子...

    spring-tx事物源码

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

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

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

    第八节-spring-事物源码解析1

    - **声明式事务管理**:基于AOP(面向切面编程),通过在方法或类上添加@Transactional注解来声明事务属性,由Spring容器在运行时自动处理事务开始、提交或回滚。 - **编程式事务管理**:在代码中显式调用...

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

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

    spring-mybatis.rar

    1. 声明式事务管理:通过在Service方法上添加@Transactional注解,Spring会自动进行事务的开启、提交、回滚。如果方法内部出现异常,Spring会自动回滚事务,保证数据的一致性。 2. 事务传播行为:@Transactional...

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

    #### Spring事务控制的基础概念 Spring框架支持两种类型的事务管理:编程式事务管理和声明式事务管理。 - **编程式事务管理**:通过编码的方式来管理事务,适用于需要细粒度控制的情况。 - **声明式事务管理**:...

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

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

    spirn的事物配置详解与webservices案例

    1. Spring事物配置详解: 在Spring框架中,事务管理是核心功能之一,它允许开发者以声明式或编程式的方式来管理事务。声明式事务管理通过在XML配置文件或注解中定义事务边界,使得事务处理更加简洁。例如,可以使用...

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

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

    spring-multi-transaction

    - **事物隔离级别**:Spring支持SQL的四种隔离级别,包括READ_UNCOMMITTED(读未提交)、READ_COMMITTED(读已提交)、REPEATABLE_READ(可重复读)和SERIALIZABLE(串行化)。选择合适的隔离级别可以防止脏读、不可...

    springCloud-rabbitmq分布事物实现.zip

    综上所述,"springCloud-rabbitmq分布事物实现.zip"这个实例主要展示了如何在Spring Cloud环境中利用RabbitMQ解决分布式事务问题。通过理解RabbitMQ的事务机制、Spring Cloud的集成方式以及分布式事务的各种策略,...

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

    - 编程式事务管理允许在代码中直接控制事务的开始、提交、回滚等操作,使用`PlatformTransactionManager`接口和`TransactionDefinition`、`TransactionStatus`等类。这种方式虽然灵活,但侵入性较强,不推荐在业务...

    spring编程式事物

    标题"spring编程式事物"主要关注的是编程式事务管理。这种方式允许开发者通过`PlatformTransactionManager`接口和`TransactionDefinition`接口来控制事务的生命周期。在Spring中,通常使用`TransactionTemplate`或者...

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

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

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

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

Global site tag (gtag.js) - Google Analytics