spring配置JDBC事务

原创 2012年03月24日 22:03:30

http://www.iteye.com/problems/2951

 

Spring+JDBC事务配置

悬赏:10 发布时间:2008-08-19 提问人:charity_lan (初级程序员)

Java代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">   
  3. <beans>   
  4.        
  5.      <bean id="dataSource"  
  6.         class="org.apache.commons.dbcp.BasicDataSource"  
  7.         destroy-method="close">   
  8.         <property name="driverClassName"     
  9.             value="com.mysql.jdbc.Driver" />   
  10.         <property name="url"    
  11.         value="jdbc:mysql://localhost:3306/mucun?useUnicode=true&amp;characterEncoding=utf-8&amp;useOldAliasMetadataBehavior=true"></property>   
  12.         <property name="username" value="root"></property>     
  13.         <property name="password" value=""></property>             
  14.         <property name="validationQuery" value="select 1" />                 
  15.         <property name="maxIdle" value="5" />    
  16.         <property name="maxWait" value="100" />     
  17.         <property name="maxActive" value="20" />   
  18.     </bean>   
  19.   
  20.     <bean id="transactionManager"  
  21.         class="org.springframework.jdbc.datasource.DataSourceTransactionManager">   
  22.         <property name="dataSource">   
  23.             <ref local="dataSource" />   
  24.         </property>   
  25.     </bean>      
  26.        
  27.     <bean id="abstractTxDefine" lazy-init="true"  
  28.         class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">   
  29.         <property name="transactionManager">   
  30.             <ref bean="transactionManager" />   
  31.         </property>   
  32.         <property name="transactionAttributes">   
  33.             <props>   
  34.                 <prop key="*">PROPAGATION_REQUIRED,-Exception</prop>   
  35.             </props>   
  36.         </property>            
  37.     </bean>   
  38.         
  39.     <bean id="sqlMapClient"  
  40.         class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">   
  41.         <property name="configLocation">   
  42.             <value>WEB-INF/classes/sqlMapConfig.xml</value>   
  43.         </property>   
  44.         <property name="dataSource">   
  45.             <ref bean="dataSource"></ref>   
  46.         </property>   
  47.     </bean>   
  48.     <bean id="sqlMapDao"  
  49.         class="com.charity.common.dao.impl.SqlMapDaoUtilsImp">   
  50.         <property name="sqlMapClient" ref="sqlMapClient"/>   
  51.     </bean>    
  52.   
  53.     <bean id="jdbcDao" class="com.charity.common.dao.impl.JdbcDaoUtilsImp">   
  54.         <property name="dataSource">     
  55.             <ref local="dataSource" />   
  56.         </property>   
  57.     </bean>   
  58.        
  59.     <bean id="serviceManager" lazy-init="true"    
  60.         class="com.charity.common.service.impl.ServiceManager">   
  61.         <property name="sqlMapDao">   
  62.             <ref bean="sqlMapDao" />   
  63.         </property>   
  64.         <property name="jdbcDao">   
  65.             <ref bean="jdbcDao" />   
  66.         </property>   
  67.     </bean>   
  68.        
  69.     <bean id="multiTableFormdataService" parent="abstractTxDefine">   
  70.         <property name="target">   
  71.             <bean parent="serviceManager"  
  72.                 class="com.charity.common.service.impl.MultiTableFormdataService">   
  73.             </bean>   
  74.         </property>   
  75.     </bean>   
  76. </beans>  


class MultiTableFormdataService extends ServiceManager{
      实现业务代码
}
class ServiceManager {
   jdbcDao;
   sqlMapDao;
  
}
问题:
结果是在MultiTableFormdataService 类中多表保存,并没有因为某条语句错误而产生事务回滚。

不知道问什么,请指教

采纳的答案

2008-08-19 lggege (架构师)

Java代码 复制代码 收藏代码
  1. <bean id="abstractTxDefine" lazy-init="true"     
  2.         class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">   


Java代码 复制代码 收藏代码
  1. <bean id="multiTableFormdataService" parent="abstractTxDefine">    


所以, 已经给multiTableFormdataService加了事务.

建议LZ查看自己mysql的engine是否不是InnoDB的.

Sql代码 复制代码 收藏代码
  1. show table status from table_name;   

相关文章推荐

【Spring】JDBC事务管理XML配置

将spring事务管理与spirng-mybatis分离开了:

spring(JDBC)事务配置

实现原理: 采用spring AOP技术实现spring事务的架构 事务的定义 事务的状态 说明:通过spring的事务处理架构,再通过配置文件具体的实现事务的类,就可以让 spring容器知...

struts2与spring、jdbc结合以及AOP事务管理的配置

http://www.springframework.org/schema/beans"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance...

spring 同时配置hibernate and jdbc 事务

http://blog.csdn.net/mypop/article/details/6120377 在项目中同时用到了JDBC和Hibernate,分别配置了各自的事务,同时配置了不同的tx:...

使用注解方式配置spring中的jdbc事务

jdbc事务管理,使用注解的方式步骤如下   * 引入命名空间         * xmlns:context="http://www.springframework.org/schema/con...

【Spring】在Spring框架下使用注解配置JDBC事务

算是对Spring的一个阶段性总结吧,注解、依赖注入、JDBC、事务等重点基本都涉及到了,值得记录一下。 首先是最重要的xml配置文件。虽然使用了注解方式,不过还是需要在XML中设置一些东西...
  • Spixii
  • Spixii
  • 2016年12月22日 19:25
  • 1588

spring学习笔记10--Spring+jdbc组合开发(注解方式配置事务)

Spring+jdbc组合开发 步骤: 一、配置数据源 主流数据库连接池之一(DBCP、c3p0、proxool),单独使用DBCP需要使用commons-dbpc.jar、commons-co...
  • Hollboy
  • Hollboy
  • 2013年05月05日 13:42
  • 1847

【Spring】spring-mvc hibernate druid jdbc等数据源事务配置详解(解决注解事务不生效问题)

今天把工程事务不生效的事情个解决了。所有的配置都是正常的,就是不知道为什么事务不生效。 工程架构为spring-mvc + spring + druid  首先说下spring的事务: Spri...

jdbc+spring+mysql事务理解和分析

  • 2014年06月25日 12:03
  • 36KB
  • 下载

实例详解Spring JDBC事务管理.doc

  • 2010年10月10日 00:31
  • 66KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spring配置JDBC事务
举报原因:
原因补充:

(最多只允许输入30个字)