• mybatis批量删除、插入


    继承

    import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

    在service层的写法示例:

    package com.autosys.parts.service.impl;
    
    import com.alibaba.fastjson.JSONObject;
    import com.autosys.common.exception.ServiceException;
    import com.autosys.common.util.Constants;
    import com.autosys.parts.mapper.PartsMapper;
    import com.autosys.parts.model.*;
    import com.autosys.parts.service.IPartsService;
    import com.autosys.utils.ConstantUtils;
    import com.autosys.utils.StrUtils;
    import com.baomidou.mybatisplus.core.metadata.IPage;
    import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
    import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    import java.util.*;
    
    /**
     * @Auther: QuanFeng.Liu
     * @Date: 2019/12/04 14:17
     * @Description:
     */
    @Slf4j
    @Service
    public class PartsService extends ServiceImpl<PartsMapper, BesiParts> implements IPartsService {
    
        @Autowired
        PartsMapper partsMapper;
    
        public void saveParts(List<Besi2Raw> besi2List, List<BesiParts> partList) {
            Map<String, Object> besi2Map = new HashMap<>();
            Map<String, Object> besiMap = new HashMap<>();
            besi2List.forEach(item -> {
                besi2Map.put(item.getPartCode() + "_" + item.getPlantCode() + "_" + item.getModelCode() + "_" + item.getRegPlantCode(), item);
            });
            partList.forEach(item -> {
                besiMap.put(item.getPartNo() + "_" + item.getPlantCode() + "_" + item.getModelCode() + "_" + item.getRegPlant(), item);
            });
    
            List<BesiParts> addPartList = new ArrayList<>();
            List<String> minPartList = new ArrayList<>();
    
            besi2List.forEach(item -> {
                String key = item.getPartCode() + "_" + item.getPlantCode() + "_" + item.getModelCode() + "_" + item.getRegPlantCode();
                if(!besiMap.containsKey(key)) {
                    BesiParts besiParts = new BesiParts();
                    besiParts.setPartNo(item.getPartCode());
                    besiParts.setModelCode(item.getModelCode());
                    besiParts.setPartName(item.getPartName());
                    besiParts.setPartNameEn(item.getPartNameEn());
                    besiParts.setPowerFlag(item.getPowerFlag());
                    besiParts.setPurcasingCode(item.getPurcasingCode());
                    besiParts.setRegPlant(item.getRegPlantCode());
                    besiParts.setUsePlant(item.getUsePlant());
                    besiParts.setProduceCode(item.getProduceCode());
                    besiParts.setPlantCode(item.getPlantCode());
                    besiParts.setNewFlag(Constants.Flag_Yes);
                    besiParts.setStatus(Constants.Status_Valid);
                    besiParts.setCreateBy(Constants.Ver_Type_B2);
                    besiParts.setPartType(ConstantUtils.Parts_Yipei);
                    besiParts.setCreateTime(new Date());
                    addPartList.add(besiParts);
                }
            });
    
            if(addPartList.size() > 0) {
                partsMapper.updPartNewFlag();
                saveBatch(addPartList);
            }
    
            partList.forEach(item -> {
                String key = item.getPartNo() + "_" + item.getPlantCode() + "_" + item.getModelCode() + "_" + item.getRegPlant();
                if(!besi2Map.containsKey(key)) {
                    minPartList.add(item.getId());
                }
            });
            if(minPartList.size() > 0) {
                removeByIds(minPartList);
            }
        }
    }
  • 相关阅读:
    linux 端口号、进程id、杀进程、查询tcp的连接(各种状态的)
    泛型---(静态方法中为什么不能引用类级别的参数)
    net.sf.json------json解析
    微信调用40001
    第十五章 泛型
    CentOS7下安装Nodejs
    CentOS7下安装RabbitMQ
    Centos7搭建FTP服务器
    Windows10下mysql-5.7.19免安装版配置
    Windows下dubbo环境搭建及初步使用
  • 原文地址:https://www.cnblogs.com/xiaofengfree/p/12144754.html
Copyright © 2020-2023  润新知