JAVA 过滤新增重复的数据

 1.list 找出数据库没有重复的数据

2.循环遍历传入的数据集合CuxFoodList

3.判断数据库中list集合里面是否包含当前循环CuxFoodList的第j条数据

   如果没有的话就做新增或更新,有的话则增加count次数,以便前端提示重复了几条数据。

(这边之前尝试了remove方法移除掉遍历的CuxFoodList,后面发现在导入三条数据后,假设第一条重复,移除后,索引会直接跳到第三条数据,这样即使系统就过滤掉第二条数据了,所以后面索性不去掉了。)

    //新增数据
    @ApiOperation(value = "新增食材明细信息")
    @PostMapping("/addFoodList")
    public Object  addFoodList(@RequestBody List<CuxFoodList> cuxFoodList){
        int count=0;
        try{
            //去除重复数据
            List<CuxFoodList> list=iCuxFoodListService.getFoodList();
            System.out.println(list);
            for (int j=0;j<cuxFoodList.size();j++)
            {
                /**
                 *   数据库的所有数据(去除sysid)与 cuxfoodlist  进行对比
                 *   如果所有字段都相同  则去除CuxFoodList里面的一条记录
                 */
                CuxFoodList clist=cuxFoodList.get(j);
               if(!list.contains(clist))
               {
                   iCuxFoodListService.saveOrUpdate(clist);
               }
               else
              {
                // cuxFoodList.remove(j);
                count++;
              }
            }
        }catch (Exception e){
            e.printStackTrace();
            return Result.failed("新增失败");
        }
        return Result.succeed("新增成功,其中"+count+"条数据重复,不做新增!");
    }

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值