当前位置: 代码迷 >> Java Web开发 >> 求 Spring3 + ibatis3 事务管理方案解决方案
  详细解决方案

求 Spring3 + ibatis3 事务管理方案解决方案

热度:344   发布时间:2016-04-17 00:55:09.0
求 Spring3 + ibatis3 事务管理方案
使用 Spring3 版本, ibatis3 版本,

如何集成,并做声明式事务。

另外,如何做分布式,可得分。

------解决方案--------------------
你手动写你的事务管理,写一个通知,在事前通知里开启事务,事后通知关闭事务,异常里面回滚,然后用模糊匹配,使用规则的命名,应该是可以做的。因为我没用过ibatis3,所以不好说,我原来做过hibernate使用sessionFactory的注入时候,这样处理过事务,因为spring没有对sessionFactory的事务处理
------解决方案--------------------
CSS code
在Spring配置文件中配置事务的传播特性需要配置advice及事务的切面aop和切入点<bean id="transactionManager"//事务管理器  class="org.springframework.orm.hibernate3.HibernateTransactionManager">  <property name="sessionFactory">   <ref bean="sessionFactory" />  </property> </bean>事务传播特性 <tx:advice id="txAdvice" transaction-manager="transactionManager">  <tx:attributes>   <tx:method name="add*" propagation="REQUIRED"/>add开头的方法,配置事务管理   <tx:method name="delete*" propagation="REQUIRED" />对delete开头的方法,进行事务管理   <tx:method name="update*" propagation="REQUIRED" />   <tx:method name="*" read-only="true" />其他方法只读,一般指查询方法。就不需要事务  </tx:attributes> </tx:advice> <aop:config>  <aop:pointcut id="allManagerMethod"   expression="execution(* com.hoo.service.*.*(..))" />//对com.hoo.service包下的所有类 所以方法 进行过滤(也就是事务管理)  <aop:advisor advice-ref="txAdvice" pointcut-ref="allManagerMethod" /> </aop:config>
------解决方案--------------------
探讨
你手动写你的事务管理,写一个通知,在事前通知里开启事务,事后通知关闭事务,异常里面回滚,然后用模糊匹配,使用规则的命名,应该是可以做的。因为我没用过ibatis3,所以不好说,我原来做过hibernate使用sessionFactory的注入时候,这样处理过事务,因为spring没有对sessionFactory的事务处理

------解决方案--------------------
Spring3 + ibatis3 的事务管理是通过配置文件和xml共同管理的。
applicationContext.xml,sql-map-config.xml,user.xml
在applicationContext.xml中定义接口调用user.xml的sql。
------解决方案--------------------
mark
------解决方案--------------------
探讨

CSS code

在Spring配置文件中配置事务的传播特性
需要配置advice及事务的切面aop和切入点

<bean id="transactionManager"//事务管理器
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFacto……

------解决方案--------------------
在Spring配置文件中配置事务的传播特性需要配置advice及事务的切面aop和切入点
  相关解决方案