您的位置:首页 > 其它

MyBatis事务管理

2016-09-21 16:04 363 查看
方法1:通过AOP配置提供事务增强,让service包下所有Bean的所有方法拥有事务

注意事务处理的类所在的包,以及方法的名称

<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="delete*" propagation="REQUIRED"
read-only="false" rollback-for="java.lang.Exception" no-rollback-for="java.lang.RuntimeException" />
<tx:method name="insert*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.RuntimeException" />
<tx:method name="update*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.Exception" />

<tx:method name="find*" propagation="SUPPORTS" />
<tx:method name="get*" propagation="SUPPORTS" />
<tx:method name="select*" propagation="SUPPORTS" />
</tx:attributes>
</tx:advice>

<aop:config proxy-target-class="true">
<aop:pointcut id="serviceMethod" expression=" execution(* com.brkc.epolice.service..*(..))" />
<aop:advisor pointcut-ref="serviceMethod" advice-ref="txAdvice" />
</aop:config>

方法2:事务注解驱动,标注@Transactional的类和方法将具有事务性,个人比较喜欢这种方法,比较灵活
<tx:annotation-driven transaction-manager="transactionManager" />

方法3:没尝试。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: