java SSM多操作注解回滚
在业务操作时难免会遇到一个业务多操作,会用到事物回滚这里写了一个简单的多操作失败事物回滚案例
在这之前你需要在你的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@Overridepublic 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;}
转载于:https://www.cnblogs.com/userzf/p/9060149.html
java SSM多操作注解回滚相关推荐
- java 事务嵌套_嵌套事务回滚
嵌套事务的回滚 2017年05月02日 16:33:32 阅读数:1974 嵌套事务和事务保存点的错误处理 对于嵌套事务. 1.外部起事务,内部起事务,内外都有Try Catch 内部出错:如果内部事 ...
- java更新数据库错误就回滚_Java 中对数据库操作时的 回滚
Connection conn=null; conn.rollback()就可以回滚 //用jdbc连接数据库 //举例子,比如你在写一个级联删除的方法的时候,为了保证数据完整性,删除的时候一定要确定 ...
- Java后端之数据库操作事务回滚
什么是事物 事物是应用程序中一系列操作,事物完成是指所有的操作都完成,事物不完成是指一个操作也不能完成,事物结束有两种情况,当事务中的所有步骤全部完成时,事务提交,如果一个步骤失败,则发生回滚操作,撤 ...
- @Transactional注解回滚(事物)
1 创建一个实体类,该类拥有的属性与数据库拥有的字段一一对应 import lombok.Data; @Data public class InterfaceTest { private Intege ...
- Idea开发工具操作git回滚提交步骤
目录 第一步:reset到回滚的分支 第二步:rollback掉变动的代码 第三步:使用git 命令强制提交回滚后的代码. 使用idea开发java代码时,如果想回滚git提交的代码, 需要操作三步. ...
- springboot+事务,多张表的操作事务回滚
第一步,在springboot的启动类上开启事务,注解 @EnableTransactionManagement 第二步:事务注解,回滚 @Transactional(rollbackFor = Ex ...
- git 常规操作以及回滚操作
2019独角兽企业重金招聘Python工程师标准>>> 在这里记录一些平时比较常用的git的命令行操作,以及一些回滚的操作,以提高我们平时的开发效率. 首先我的 git 项目仓库在 ...
- ant java 返回,在Java中直接操作ant回测试和生成测试报告
在Java中直接操作ant来测试和生成测试报告 Ant是大家熟悉的构建工具,一般情况下,大家都是使用build.xml文件来配置使用Ant,这样的Ant已经是十分强大的.但有些怪异的场景需求特殊,你可 ...
- MySQL遭遇DELETE误操作的回滚
方法: 条件:开启Binlog,Format为Row. 步骤: 1.通过MySQL自带工具mysqlbinlog 指定导出操作的记录: mysqlbinlog --no-defaults --star ...
最新文章
- 海康威视:增速超预期 调高盈利预测
- 用DriverStudio开发USB驱动程序
- java 静态对象赋值_基于Java class对象说明、Java 静态变量声明和赋值说明(详解)...
- 移动支付批量制卡系统架构
- Java变量名命名规则
- 运算符的优先级和结合性
- mysql备份文件无法回退_mysql备份灵活恢复
- linux中fish脚本,FISH:Linux 下的一个智能易用的 Shell
- iPhone开发--在iPad上调用UIAlertController函数时发生crash
- wireshark绿色便携版 v3.4.2.0
- 泰坦尼克号乘客存活预测详细笔记
- 【建议收藏】产品经理面试真题大全
- 10行代码实现抽奖助手自动参与抽奖
- 国二python是什么意思_国二都考什么啊
- ARM服务器搭载的操作系统
- 小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点
- springboot2.X整合spring-data-elasticsearch
- 可扩展标记语言XML之一:XML的概念、作用与示例
- 一直以来伴随我的一些学习习惯(part2)
- 原生js插件(超详细)