java SSM多操作注解回滚
2024-08-31 12:28:55
在业务操作时难免会遇到一个业务多操作,会用到事物回滚这里写了一个简单的多操作失败事物回滚案例
在这之前你需要在你的applicationContext-mybatis.xml中配置:
<!-- 事务管理 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
下面这段代码是一个简单删除操作,删除的时候传入的
Product
类的对象pro只赋值了id其他字段并未赋值在
先写了一个删除操作
后面跟了一个新增商品的操作(这个操作很明显是错误的会因为对象属性未赋值插入错误)
在多操作是用 try catch 包裹起来,在catch 中如果出现错误调用 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 进行多操作事物回滚
@Transactional
@Override
public boolean del(Product pro) {
//多操作回滚案例
boolean boo=false;
try{
System.out.println("开始");
pm.del(pro);
pm.add(pro);
boo=true;
}catch(Exception e){
System.out.println("删除异常");
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//就是这一句了,加上之后,如果doDbStuff2()抛了异常,
//doDbStuff1()是会回滚的
System.out.println("操作回滚");
}
return boo;
}
最新文章
- JavaScript随笔2
- BeautifulSoup的选择器
- Linux syslog介绍
- (leetcode)Implement Stack using Queues
- UESTC_秋实大哥带我飞 2015 UESTC Training for Graph Theory<;Problem B>;
- Lync Server 2013中央管理存储:自动收集配置数据失败
- Android图片轮播控件
- [转]SQL Server 表变量和临时表的区别
- Java 异常基础详解
- eclipse配置tomcat后启动报内存错误解决方法
- Java中数组和集合的foreach操作编译后究竟是啥
- web框架开发-Django视图层
- Flutter学习(一)之MaterialApp和Scaffold组件使用详解
- KADEMLIA算法
- itsdangerous
- Codeforces 781C Underground Lab
- Binary Tree Traversals(HDU1710)二叉树的简单应用
- Redis介绍及部署在CentOS7上(一)
- Java-JUC(五):闭锁(CountDownLatch)
- 【机器学习算法】Boostrapping算法