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;
   }

 

posted @ 2017-08-14 12:21  一叶南渡  阅读(1393)  评论(0编辑  收藏  举报