求在service层控制ibatis事务的写法。
用eclipse做了一个JSF+spring+ibatis的架构。有四层:JSP,bean,service,dao。由于需要在service里执行多个dao,所以必须把事...
用eclipse做了一个JSF+spring+ibatis的架构。有四层:JSP,bean,service,dao。
由于需要在service里执行多个dao,所以必须把事务控制放在service里。
不知道怎么就是配置不成功。希望能有个简单的例子,参照一下。 展开
由于需要在service里执行多个dao,所以必须把事务控制放在service里。
不知道怎么就是配置不成功。希望能有个简单的例子,参照一下。 展开
2个回答
展开全部
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="create*" rollback-for="Exception" />
<tx:method name="delete*" rollback-for="Exception" />
<tx:method name="save*" rollback-for="Exception" />
<tx:method name="insert*" rollback-for="Exception" />
<tx:method name="update*" rollback-for="Exception" />
<tx:method name="del*" rollback-for="Exception" />
<tx:method name="vote*" rollback-for="Exception" />
<tx:method name="post*" rollback-for="Exception" />
<tx:method name="*" read-only="true" rollback-for="Exception" />
</tx:attributes>
</tx:advice>
事务的控制逻辑
<aop:config>
<aop:pointcut id="serviceOperation"
expression="execution(* com.crfdata.edc.service.impl.*.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation" />
</aop:config>
<aop:aspectj-autoproxy proxy-target-class="true" />
事务的控制层。
这样配置好之后你可以在 server中的一个方法中调用多了Dao 层的方法,其中有一个出错的话,就会将server层中的整个方法回滚。
<tx:attributes>
<tx:method name="create*" rollback-for="Exception" />
<tx:method name="delete*" rollback-for="Exception" />
<tx:method name="save*" rollback-for="Exception" />
<tx:method name="insert*" rollback-for="Exception" />
<tx:method name="update*" rollback-for="Exception" />
<tx:method name="del*" rollback-for="Exception" />
<tx:method name="vote*" rollback-for="Exception" />
<tx:method name="post*" rollback-for="Exception" />
<tx:method name="*" read-only="true" rollback-for="Exception" />
</tx:attributes>
</tx:advice>
事务的控制逻辑
<aop:config>
<aop:pointcut id="serviceOperation"
expression="execution(* com.crfdata.edc.service.impl.*.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation" />
</aop:config>
<aop:aspectj-autoproxy proxy-target-class="true" />
事务的控制层。
这样配置好之后你可以在 server中的一个方法中调用多了Dao 层的方法,其中有一个出错的话,就会将server层中的整个方法回滚。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询