在业务操作时难免会遇到一个业务多操作,会用到事物回滚这里写了一个简单的多操作失败事物回滚案例

在这之前你需要在你的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多操作注解回滚相关推荐

  1. java 事务嵌套_嵌套事务回滚

    嵌套事务的回滚 2017年05月02日 16:33:32 阅读数:1974 嵌套事务和事务保存点的错误处理 对于嵌套事务. 1.外部起事务,内部起事务,内外都有Try Catch 内部出错:如果内部事 ...

  2. java更新数据库错误就回滚_Java 中对数据库操作时的 回滚

    Connection conn=null; conn.rollback()就可以回滚 //用jdbc连接数据库 //举例子,比如你在写一个级联删除的方法的时候,为了保证数据完整性,删除的时候一定要确定 ...

  3. Java后端之数据库操作事务回滚

    什么是事物 事物是应用程序中一系列操作,事物完成是指所有的操作都完成,事物不完成是指一个操作也不能完成,事物结束有两种情况,当事务中的所有步骤全部完成时,事务提交,如果一个步骤失败,则发生回滚操作,撤 ...

  4. @Transactional注解回滚(事物)

    1 创建一个实体类,该类拥有的属性与数据库拥有的字段一一对应 import lombok.Data; @Data public class InterfaceTest { private Intege ...

  5. Idea开发工具操作git回滚提交步骤

    目录 第一步:reset到回滚的分支 第二步:rollback掉变动的代码 第三步:使用git 命令强制提交回滚后的代码. 使用idea开发java代码时,如果想回滚git提交的代码, 需要操作三步. ...

  6. springboot+事务,多张表的操作事务回滚

    第一步,在springboot的启动类上开启事务,注解 @EnableTransactionManagement 第二步:事务注解,回滚 @Transactional(rollbackFor = Ex ...

  7. git 常规操作以及回滚操作

    2019独角兽企业重金招聘Python工程师标准>>> 在这里记录一些平时比较常用的git的命令行操作,以及一些回滚的操作,以提高我们平时的开发效率. 首先我的 git 项目仓库在 ...

  8. ant java 返回,在Java中直接操作ant回测试和生成测试报告

    在Java中直接操作ant来测试和生成测试报告 Ant是大家熟悉的构建工具,一般情况下,大家都是使用build.xml文件来配置使用Ant,这样的Ant已经是十分强大的.但有些怪异的场景需求特殊,你可 ...

  9. MySQL遭遇DELETE误操作的回滚

    方法: 条件:开启Binlog,Format为Row. 步骤: 1.通过MySQL自带工具mysqlbinlog 指定导出操作的记录: mysqlbinlog --no-defaults --star ...

最新文章

  1. 海康威视:增速超预期 调高盈利预测
  2. 用DriverStudio开发USB驱动程序
  3. java 静态对象赋值_基于Java class对象说明、Java 静态变量声明和赋值说明(详解)...
  4. 移动支付批量制卡系统架构
  5. Java变量名命名规则
  6. 运算符的优先级和结合性
  7. mysql备份文件无法回退_mysql备份灵活恢复
  8. linux中fish脚本,FISH:Linux 下的一个智能易用的 Shell
  9. iPhone开发--在iPad上调用UIAlertController函数时发生crash
  10. wireshark绿色便携版 v3.4.2.0
  11. 泰坦尼克号乘客存活预测详细笔记
  12. 【建议收藏】产品经理面试真题大全
  13. 10行代码实现抽奖助手自动参与抽奖
  14. 国二python是什么意思_国二都考什么啊
  15. ARM服务器搭载的操作系统
  16. 小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点
  17. springboot2.X整合spring-data-elasticsearch
  18. 可扩展标记语言XML之一:XML的概念、作用与示例
  19. 一直以来伴随我的一些学习习惯(part2)
  20. 原生js插件(超详细)

热门文章

  1. javascript弹出窗口居中代码
  2. java中的异常及其处理
  3. RNAseq-GO、biomaRt转换ID
  4. 不同版本gene ID比较
  5. Notion 如何进行数据迁移
  6. Spark2.2.0分布式集群安装(StandAlone模式)
  7. centos 安装cacti监控
  8. HDU 5734 Acperience (公式推导) 2016杭电多校联合第二场
  9. 【推荐】一个不错的密码强度测试网站
  10. ASP.Net Cookie(几个不同出处)