mybatis 回滚记录

@Transactional   public int addThumbsUp(Map map) throws  Exception{      int result = 0;//如果调用其他方法执行sql,不进行回滚//    int addGroupPoint = this.addGradeGroupPoint(map);//    int addOrderedNumberByUserId = this.addOrderedNumberByUserId(map);//    int addPointNumberByUserId = this.addPointNumberByUserId(map);//    int createThumbsUp = this.createThumbsUp(map);

//在当前方法内执行sql,抛出RuntimeException 异常 回滚。      int addGroupPoint = this.template.update("ThumbsUp.addGradeGroupPoint",map);      int addOrderedNumberByUserId = this.template.update("ThumbsUp.addOrderedNumberByUserId",map);      int addPointNumberByUserId = this.template.update("ThumbsUp.addPointNumberByUserId",map);      int createThumbsUp = this.template.insert("ThumbsUp.createThumbsUp",map);

//如果记录为零,则认为失败      if(addOrderedNumberByUserId == 0){         throw new RuntimeException("失败");      }      if(addPointNumberByUserId == 0){         throw new RuntimeException("失败");      }      if(createThumbsUp == 0){         throw new RuntimeException("失败");      }      if(addGroupPoint == 0){         throw new RuntimeException("失败");      }

//    result = ((addGroupPoint == 0 ? (addOrderedNumberByUserId == 0 ? 0 : ) : 0) == 0 ? 0 : addPointNumberByUserId) == 0 ? 0 : createThumbsUp;//    result = addGroupPoint == 0 ? 0 : (addOrderedNumberByUserId == 0 ? 0 : (addPointNumberByUserId == 0 ? 0 : (createThumbsUp == 0 ? 0 : createThumbsUp)))

if(addGroupPoint == 0 || addOrderedNumberByUserId == 0 || addPointNumberByUserId == 0 || createThumbsUp == 0){         result = 0;      }else{         result = 1;      }

return result;   }
时间: 2024-11-10 11:40:00

mybatis 回滚记录的相关文章

spring + myBatis 常见错误:注解事务不回滚

最近项目在用springMVC+spring+myBatis框架,在配置事务的时候发现一个事务不能回滚的问题. 刚开始配置如下:springMVC.xml配置内容: spring.xml配置内容 从上面两个配置文件看出,开始的时候我把Service配置在springMVC中的.但是,事务注解我配置在了spring中.这样就会出现问题了.因为spring的容器(applicationContext)和springMVC的(applicationContext)是不同的. spring容器加载得时候

chunk writer 中需要对抛错的交易进行回滚,同时又要在其他表中记录是哪一笔交易记录失败

首先根据我有限的知识判断,回滚之后进行写表,该写表动作只能使用listener来进行. 考虑使用的listener有:ItemWriteListener     StepExecutionListener    ChunkListener 我首先使用了ItemWriteListener,在 onWriteError(Exception exception, List items) 方法中对items进行了写表,后来发现被回滚,通过一步一步debug,看到确实该方法之后才是rollback. 所以

springmvc mybatis 声明式事务管理回滚失效,(checked回滚)捕捉异常,传输错误信息

一.知识点及问题 后端框架: Spring .Spring mvc .mybatis 业务需求: client先从服务端获取用户大量信息到client,编辑完毕之后统一Post至服务端,对于数据的改动要么全成功,要么全失败,所以须要使用事务支持. 问题: 配置Spring声明式事务,运行中出现异常未回滚.从网上查询得到一開始是自己的配置出了问题,因为配置文件的载入顺序决定了容器的载入顺序导致Spring事务没有起作用. 详情例如以下: 因为採用的是SpringMVC. MyBatis,故统一採用

MyBatis:事务回滚

事务的隔离级别:DEFAULT.READ_UNCOMMITED.READ_COMMITTED.REPEATABLE_READ.SERIALIZABLE 事务的传播行为:REQUIRED.SUPPORTS.MANDATORY.REQUIRES_NEW.NOT_SUPPORTED.NEVER.NESTED 我们这里举一个小例子说明下,在一个service方法中执行两个sql操作,中间存在数据计算异常,此时我们一定希望数据回滚,那么我们就需要在方法前标注REQUIRED 如上所示,我们来测试下 运行后

mybatis批量导入 ,出现异常全部不添加(回滚)

public int importModel(MultipartFile file) throws Exception{ String fileName = file.getOriginalFilename(); String suffxName = fileName.substring(fileName.lastIndexOf(".",fileName.length()) ); //System.out.println(fileName+",后缀名:"+suffx

事务配置在applicationContext.xml文件中不起作用,控制不了异常回滚

一.博主在学习到整合ssm框架的时候,遇到一个奇葩的问题就是将 事务的控制 ,写在在applicationContext.xml文件中不起作用,在事务控制的方法中,即使出现了异常,但是事务不会回滚的坑,按道理说,我们配置了事务,在异常发生是,运行时期的异常被我们的框架捕获到,就会为我们做出回滚的操作,但是就是没有,比如博主写的一个简单的转帐的事务,第一个账户的钱被扣除了,但是在执行完扣钱之后发生了异常但是我们在数据库中却发现,钱仍然被扣了, 博主也试过网上的大多数的方法,都是只说原因,并不能解决

Spring中@Transactional事务回滚实例及源码

一.使用场景举例 在了解@Transactional怎么用之前我们必须要先知道@Transactional有什么用.下面举个栗子:比如一个部门里面有很多成员,这两者分别保存在部门表和成员表里面,在删除某个部门的时候,假设我们默认删除对应的成员.但是在执行的时候可能会出现这种情况,我们先删除部门,再删除成员,但是部门删除成功了,删除成员的时候出异常了.这时候我们希望如果成员删除失败了,之前删除的部门也取消删除.这种场景就可以使用@Transactional事物回滚. 二.checked异常和unc

springmvc事务回滚失效

转载:http://blog.csdn.net/z69183787/article/details/37819831 前文提到,最新换了框架,新项目用SpringMVC + Spring JdbcTemplate.搭框架时,发现了一个事务无法正常回滚的问题,记录如下: 首先展示问题: Spring applicationContext.xml配置: [html] view plaincopy <bean id="dataSource" class="org.spring

关于oracle实例恢复的前滚和回滚的理解

关于oracle实例恢复的一些理解,一直都有误区,今天通过查看相关资料和与同学探讨,发觉了自己的错误,探讨结果如下: 实例恢复:当数据库非正常关闭的时候(断电或者shu  abort等等非一致性关闭),当你从新启动数据库的时候,数据库相关进程自动进行实例恢复,无须人工干预. 什么时候需要实例恢复 在shutdown normal or shutdown immediate下,也就是所谓的clean shutdown,checkpoint也会自动触发,并且把SCN纪录写回. 当发生checkpoi