4年来一直在ssi中用spring控制事物。这回把spring+ibatis摘出来吧,以供不时之需。
applicationContext.xml
<!--
spring事务管理 方法一-->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<aop:config>
<aop:pointcut id="serviceOperation" expression="execution(*
com.*.service.*.*(..))" />
<aop:advisor pointcut-ref="serviceOperation" advice-ref="txAdvice" />
</aop:config>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="insert*" rollback-for="Exception" />
<tx:method name="save*" rollback-for="Exception" />
<tx:method name="update*" rollback-for="Exception" />
<tx:method name="delete*" rollback-for="Exception" />
<tx:method name="*" read-only="true" rollback-for="Exception" />
</tx:attributes>
</tx:advice>
主要java代码:
public void insertAccounts(List<Account> accountList) {
for (int i = 0; i < accountList.size(); i++) {
System.out.println(""+i);
if(i==2){
//注释到就可以全部插入,否则spring的事物会让他们全部不插入,ACID
int s=2/0;//抛出异常
}
this.accountDao.insertAccount(accountList.get(i));
}
}
另外,附件也上传了一份jdbc的事物源代码,这个是复制自别人的的,可惜忘了地址,抱歉。
分享到:
相关推荐
Spring中的@Transactional事物回滚实例源码
主要介绍了Spring异常捕获且回滚事务解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Spring中的JdbcTemplate,Spring中的的事务.。。。。。。。
模拟订单和库存的一个简单案例实现,注册到nacos配置中心,通过feign远程调用模拟异常进行全局事物回滚。 内含sql文件,nacos、seata安装包以及对应seata配置所需的script脚本(也可自行官网下载) ...
spring boot 纯注解方法事务控制回滚,注解+简单配置文件使用多线程demo
用springboot 集成mybatis多数据源,用aop实现的动态切换,支持事务,不会使aop动态切换失效。注意:此代码不涉及分布式事务,如果需要分布式事务 需要采取其他方案。
spring4.0和hibernate4.0框架的标准整合,此框架实现了hibernate根据实体自动创建表(前提是你要在mysql中创建名为testspring的库),spring的aop拦截功能,帮助了解aop,和spring事物控制,异常回滚以及junit4的测试...
面试必考之HashMap源码分析与实现 ,微服务架构之Spring Cloud Eureka 场景分析与实战,高性能必学之Mysql主从架构实践 ,架构师不得不知道的Spring事物不能回滚的深层次原因 ,分库分表之后分布式下如何保证ID全局...
HashMap源码分析与实现、JVM底层奥秘ClassLoader源码分析与案例讲解、大型...Spring事物不能回滚的深层次原因、高性能必学之Mysq1主从架构实践、分布式框架Zookeeper之服务注册与订阅、互联网系统垂直架构之Session解决...
测试可以利用spring的注入功能,引入spring的事物管理,而且对于测试的数据还可以支持回滚,保存数据 velocity-1.6.2.jar velocity-1.6.2-dep.jar velocity-tools-1.4.jar velocity-tools-view-1.4.jar velocity...
2、spring声明式事物只回滚运行期异常 3、使用注解控制事物方法的优点: (1) 开发团队达成一致约定,明确标注事务方法的编程风格 (2) 保证事务方法的执行时间尽可能短,不要穿插其他网络操作,如RPC/HTTP请求 或者...
2017卧底面试题答案解析.txt 包含有 SpringMvc深入理解源码分析 高性能网络编程必备技能之IO与NIO阻塞分析 ...架构师不得不知道的Spring事物不能回滚的深层次原因 大型公司面试必答之数据结构与算法精讲 ... 等
2.本代码采用的是 apache-maven-3.3.9 eclipse Mars.2 Release (4.5.2) jdk 1.8 tomcat 8 mysql 5.1 3.本代码是一个整合spring+... 2)验证了事物回滚配置的正确性 3)还没有正式涉及springMvc的常用配置
架构师不得不知道的Spring事物不能回滚的深层次原因.mp4 │ │ │ ├─13.RPC底层通讯原理之Netty线程模型源码分析 │ │ 13.RPC底层通讯原理之Netty线程模型源码分析.wmv │ │ │ ├─14.分库分表之后分布式下...
【Spring】spring中的IOC(控制反转)的原理 92 【Spring】什么是AOP 92 【Spring】Spring事务机制 93 声明式事物 93 编程式事务 94 【Spring】Spring声明式事务的五个特性 94 传播性 94 隔离级别 95 只读 96 事务...