spring jdbc 事务配置----TransactionTemplate使用

1、在配置文件中配置

<!--事务模板 -->
	<bean id="transactionTemplate"
		class="org.springframework.transaction.support.TransactionTemplate">
		<property name="transactionManager" ref="transactionManager" />
	</bean>
	<!-- jdbc事务管理器 -->
	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>

2、在DAO中注入transactionTemplate,代码:

public GenRes add(final Storage[] storage) {
		transactionTemplate.execute(new TransactionCallbackWithoutResult() {

			@Override
			protected void doInTransactionWithoutResult(TransactionStatus status) {
				try {
					//数据库操作
				} catch (Exception e) {
<span style="white-space:pre">					</span>//异常事务回滚
					status.setRollbackOnly();
					e.printStackTrace();
				}
			}
		});
		return gr;
	}

以前事务都是在配置文件中配置,还有注解的方式,今天在项目中看见用这种方式,有点麻烦。但是受教了~~

时间: 2024-07-31 08:24:43

spring jdbc 事务配置----TransactionTemplate使用的相关文章

Spring MVC 事务配置

Spring MVC事务配置 要了解事务配置的所有方法,请看一下<Spring事务配置的5种方法> 本文介绍两种配置方法: 一.      XML,使用tx标签配置拦截器实现事务 一.      Annotation方式 以下所使用环境为Spring4.0.3.Hibernate4.3.5 一.      XML,使用tx标签配置拦截器实现事务 Entity类User.java,持久化类,对应数据库表user package com.lei.demo.entity; import javax.

[转]Spring MVC 事务配置

Spring MVC事务配置 要了解事务配置的所有方法,请看一下<Spring事务配置的5种方法> 本文介绍两种配置方法:  <tx:advice/>就是告诉事务管理器:怎么做.如何去执行.通过什么方法(形式)去执行. 一.      XML,使用tx标签配置拦截器实现事务 一.      Annotation方式 以下所使用环境为Spring4.0.3.Hibernate4.3.5 一.      XML,使用tx标签配置拦截器实现事务 Entity类User.java,持久化类

spring 实现事务配置的方式

spring 中常用的两种事务配置方式以及事务的传播性.隔离级别 一.注解式事务 1.注解式事务在平时的开发中使用的挺多,工作的两个公司中看到很多项目使用了这种方式,下面看看具体的配置demo. 2.事务配置实例 (1).spring+mybatis 事务配置 <!-- 定义事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSource

CSDN上看到的一篇有关Spring JDBC事务管理的文章(内容比较全) (转)

JDBC事务管理 Spring提供编程式的事务管理(Programmatic transaction manage- ment)与声明式的事务管理(Declarative transaction management),为不同的事务实现提供了一致的编程模型,这节以JDBC事务为例,介绍Spring的事务管理. 5.3.1  Spring对事务的支持 事务是一组原子(Atomic)操作的工作单元,以数据库存取的实例来说,就是一组SQL指令,这一组SQL指令必须全部执行成功,若因为某个原因未全部执行

Spring管理事务配置的五种方式

spring配置文件中关于事务配置总是由三个组成部分,DataSource.TransactionManager和代理机制这三部分,无论是那种配置方法,一般变化的只是代理机制这块! 首先我创建了两个类,一个接口类一个实现类: package com.dao; public interface UserDao { public void getUser(); } package com.dao.impl; import org.springframework.orm.hibernate3.supp

Spring+hibernate事务配置

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:task="http://www.springframework.org/schema/task"    xmlns:xsi="http://www.w3.org/2001/XMLSchem

spring中事务配置

1:事务实现方式是通过动态代理实现:通过xml配置方式: 1:其中,<tx:method name="trans" />中的name属性,支持通配符,比如*   name="trans*"代表所有以trans开头的方法,都适用 一个通用的事务配置: 2:使用注解方式配置事务: 添加DI注解解析器,IOC注解解析器,事务注解解析器(TX注解解析器<tx:annotation-diven transaction-manager="txMana

Spring JTA事务配置JOTM

JTA可以在多个数据库上使用一个事务,weblogic等应用服务器提供了jta数据源的支持,可以直接被使用.但是tomcat本身并不支持这种特性.如果想在tomcat上使用jta就必须使用其它的工具.jotm就是一个独立的可以提供JTA功能的组件. <?xml version="1.0" encoding="UTF-8"?>      <beans xmlns="http://www.springframework.org/schema/

Spring AOP 事务配置(实现转账事务)

1. 事务特性 事务特性:ACID 原子性:整体 [原子性是指事务包含的所有操作要么全部成功,要么全部失败] 一致性:数据 [一个事务执行之前和执行之后都必须处于一致性状态] 隔离性:并发 [对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行.] 持久性:结果 [持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的] 隔离问题 脏读:一个事务读到另一个事务未提交的内容[读取未