`

事务处理配置

 
阅读更多
spring和hibernate整合是事物处理配置
<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
	<!-- sessionFactory -->

	<bean id="hello" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName"
			value="oracle.jdbc.driver.OracleDriver">
		</property>
		<property name="url"
			value="jdbc:oracle:thin:@localhost:1521:xe">
		</property>
		<property name="username" value="hr"></property>
		<property name="password" value="hr"></property>
	</bean>
	<bean id="sessionfactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource">
			<ref bean="hello" />
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.Oracle9Dialect
				</prop>
			</props>
		</property>
		
		<property name="mappingResources">
			<list>
				<value>com/yidu/dao/Customer.hbm.xml</value>
				<value>com/yidu/dao/Ord.hbm.xml</value></list>
		</property></bean>
	<bean id="CustomerDAO" class="com.yidu.dao.CustomerDAO">
		<property name="sessionFactory">
			<ref bean="sessionfactory" />
		</property>
	</bean>
	<bean id="OrdDAO" class="com.yidu.dao.OrdDAO">
		<property name="sessionFactory">
			<ref bean="sessionfactory" />
		</property>
	</bean>
	<!-- VO对象 -->
	<bean id="cus" class="com.yidu.dao.Customer">
	<property name="CId" value="4"></property>
	<property name="name" value="xiaoqi"></property>

	</bean>
	<!-- 业务逻辑 -->
	<bean id="CustomerBiz" class="com.yidu.biz.CustomerBiz">
	<property name="customerDao" ref="CustomerDAO"></property>
	<property name="customer" ref="cus"></property>
	</bean>
	<!-- 事物处理 -->
	<!-- 定义事物管理器通知 -->
	<bean id="transManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
	<property name="sessionFactory" ref="sessionfactory">
	</property>
	</bean>
	<!-- 定义一个切入点 -->
	<bean id="cutPointTran" class="org.springframework.transaction.interceptor.TransactionInterceptor">
	<property name="transactionManager" ref="transManager"></property>
	<property name="transactionAttributes">
	<props>
	<prop key="*">PROPAGATION_REQUIRED</prop>
	</props>
	</property>
	</bean>
	
	</beans>
spring和ibatis整合事务处理的配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
	<!-- 数据源 -->
	<bean id="dataSource"
		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName"
			value="oracle.jdbc.driver.OracleDriver">
		</property>
		<property name="url"
			value="jdbc:oracle:thin:@localhost:1521:xe">
		</property>
		<property name="username" value="hr"></property>
		<property name="password" value="hr"></property>
	</bean>
	<!-- sqlMapClient -->
	<bean id="sqlMapClient"
		class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
		<property name="configLocation" value="file:src/Ibatis.xml"></property>
	</bean>
	<!--SqlMapClientTemplate -->
	<bean id="SqlMapClientTemplate"
		class="org.springframework.orm.ibatis.SqlMapClientTemplate">
		<property name="sqlMapClient" ref="sqlMapClient"></property>
		<!-- VO对象 -->
	</bean>
	<bean id="customer" class="com.yidu.bean.Customer">
		<property name="cid" value="21"></property>
		<property name="name" value="马子"></property>
	</bean>
	<!-- Dao层代码 -->
	<!-- 继承了SqlMapClientTemplate模板对象的 -->
	<bean id="cusSupport" class="com.yidu.dao.CusSupportImpl">
		<property name="customer" ref="customer"></property>
		<property name="sqlMapClient" ref="sqlMapClient"></property>
	</bean>
	<!-- 没继承的,需要注入 -->
	<bean id="cusTimp" class="com.yidu.dao.CustimplateImpl">
		<property name="customer" ref="customer"></property>
		<property name="sct" ref="SqlMapClientTemplate"></property>
	</bean>

	<!-- 注入cusSupp DAO -->
	<bean id="cusBiz" class="com.yidu.biz.CustomerBiz">
		<property name="cd" ref="cusSupport"></property>
	</bean>
	<!-- 注入templateDao -->
	<bean id="templatebiz" class="com.yidu.biz.CustomerBiz">
		<property name="cd" ref="cusTimp"></property>
	</bean>


	<!-- 定义事物管理器(专门由于处理事物的通知) -->
	<bean id="tranct"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>
	<!-- 定义事务拦截器(事物切入点) -->
	<bean id="trInterceptor"
		class="org.springframework.transaction.interceptor.TransactionInterceptor">
		<property name="transactionManager" ref="tranct"></property>
		<property name="transactionAttributes">
			<props>
				<prop key="*">PROPAGATION_REQUIRED</prop>
			</props>
		</property>
	</bean>
	<!-- 自动代理 -->
	<bean id="autoProxy"
		class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
		<property name="beanNames">
			<list>
				<value>*Dao</value><!-- bean的id名称 -->
			</list>
		</property>
		<property name="interceptorNames">
			<list>
				<value>trInterceptor</value>
			</list>
		</property>
	</bean>
</beans>
 
ibatis的配置
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig      
    PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"      
    "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
    <transactionManager type="JDBC">
		<dataSource type="SIMPLE">
			<property name="JDBC.Driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/><!-- 只能用该驱动程序 -->
			<property name="JDBC.ConnectionURL" value="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=javaEE;SelectMethod=Cursor"/>
			<property name="JDBC.Username" value="sa"/>
			<property name="JDBC.Password" value="123"/>	
			
		</dataSource>
	</transactionManager>
	<sqlMap resource="com/yidu/bean/Classes.xml" />	
	<sqlMap resource="com/yidu/bean/Student.xml"/>	
</sqlMapConfig>
 
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    java事务处理详解

    在使用Spring事务处理时,需要在配置文件中定义事务管理器,并将其注入到目标对象中。目标对象可以是Service层或DAO层,事务管理器将根据事务的配置来控制事务的行为。 Spring的事务处理提供了多种事务传播行为,...

    易语言学习进阶事务处理

    本压缩包文件"易语言学习进阶事务处理"是针对易语言使用者提供的一份进阶学习资料,主要涵盖了事务处理的相关知识。 事务处理在计算机科学中是指在数据库管理系统中执行的一系列操作,这些操作被视为一个单一的工作...

    联机事务处理系统

    ### 联机事务处理系统(OLTP)深入解析 #### OLTP系统概览 联机事务处理系统(OLTP)是数据库管理的核心组件之一,主要用于处理大量的事务性操作,如银行交易、订单处理和机票预订等。这些系统旨在提供高并发、低...

    C#中的事务处理,数据库编程中常用

    在IT领域,尤其是在数据库编程中,事务处理是一个至关重要的概念,尤其在使用C#进行开发时。事务确保了数据的一致性和完整性,是数据库操作的基本单位。本篇将深入探讨C#中的事务处理,以及如何在实践中应用这些知识...

    详解Hibernate事务处理机制

    Hibernate还允许开发者通过配置设置不同的事务隔离级别,以满足不同应用场景下的需求。常见的隔离级别包括: - `READ_UNCOMMITTED` - `READ_COMMITTED` - `REPEATABLE_READ` - `SERIALIZABLE` 这些级别的选择取决...

    mySQL事务处理

    关于mysql的事务处理 public static void StartTransaction(Connection con, String[] sqls) throws Exception { if (sqls == null) { return; } Statement sm = null; try { // 事务开始 System....

    sql server 事务处理

    在SQL Server中,事务处理是数据库操作的核心组成部分,它确保数据的一致性和完整性。事务是一组逻辑操作,这些操作被视为单个单元,要么全部完成,要么全部回滚,以维护数据库的ACID(原子性、一致性、隔离性和持久...

    Java事务处理详细介绍

    ### Java事务处理详细介绍 #### 一、什么是Java事务 在软件开发领域,特别是涉及数据库操作的应用中,**事务处理**是非常关键的一个概念。通常人们认为事务处理与数据库操作紧密相关,其实事务的概念远不止于此。...

    Spring声明式事务处理

    在Spring中,事务管理分为编程式和声明式两种方式,而声明式事务处理则是通过配置来控制事务的行为,使得代码与事务逻辑解耦,提高了代码的可读性和可维护性。 首先,我们要理解什么是事务。事务是数据库操作的一组...

    spring mvc 事务配置+异常处理

    接下来,我们将深入探讨Spring MVC中的事务配置和异常处理。 **1. Spring MVC 事务配置** 在Spring中,事务管理主要依赖于Spring的`PlatformTransactionManager`接口,它是所有事务管理器的基类。Spring提供了多种...

    JSP运用事务处理

    本篇文章将深入探讨如何在JSP中应用事务处理,以及相关的重要概念和技术。 首先,我们需要了解事务的基本概念。事务是一组数据库操作,这些操作被视为一个逻辑单元,要么全部执行,要么全部不执行。事务的四大特性...

    Hibernate事务处理

    ### Hibernate事务处理详解 #### 一、事务处理概念与特性 事务处理是数据库操作中一个核心的概念,尤其在处理复杂的业务逻辑时,确保数据的一致性和完整性至关重要。Hibernate作为Java领域中广泛使用的对象关系...

    SQL Server事务处理程序设计实例.pdf

    事务处理是数据库系统中用来维护数据一致性和可靠性的关键机制,它允许用户执行一系列操作,这些操作要么全部成功,要么在遇到错误时全部回滚,保证数据的完整性不被破坏。本文以SQL Server 2000为例,展示如何通过...

    asp.net 事务处理

    ASP.NET 事务处理是开发基于ASP.NET web应用程序时不可或缺的一部分,它主要用于确保数据一致性,特别是在进行多步骤操作或涉及多个数据库表的复杂操作时。在ASP.NET中,事务处理可以帮助我们管理和协调一系列数据库...

    Java事务处理总结

    ### Java事务处理总结 #### 一、什么是Java事务 事务是指一组操作的集合,这些操作要么全部成功,要么全部失败,以确保数据的一致性和完整性。在Java开发中,事务处理主要关注的是如何管理和控制对数据库的操作,...

    导入Microsoft分布式事务处理协调器MSDTC失败的解决方案

    大家跨服务器加事务的时候经常遇到以下报错:导入Microsoft分布式事务处理协调器MSDTC,网上大部分教程都是服务器配置msdtc,但是发现两个服务器都配置之后还是不行,可参照此图片解决,已验证过,不好用找我,最低...

    COM+事务处理

    为了在.NET应用程序中启用COM+事务处理,还需要进行一些额外的设置,比如给程序添加强名。这包括创建密钥对(使用`sn.exe`工具),并在编译时使用`AssemblyKeyFile`属性对DLL进行签名。 以下是一个简单的手动事务...

    声明式事务处理 SSh

    声明式事务处理的核心在于XML配置或注解方式来定义事务的边界。在Spring框架中,主要有两种实现方式:基于XML的事务管理和基于注解的事务管理。 1. **基于XML的事务管理**: 在Spring的配置文件中,我们可以定义`...

    SpringBoot-Mybatis处理事务

    在SpringBoot框架中整合Mybatis进行...在实际项目中,还需要注意事务的隔离级别、超时设置以及回滚规则的配置,以满足不同业务场景的需求。通过这种方式,我们可以方便地在SpringBoot应用中实现高效且可靠的事务管理。

Global site tag (gtag.js) - Google Analytics