其他分享
首页 > 其他分享> > 单表批量新增

单表批量新增

作者:互联网

各位码农朋友们,虽然这个看起来是简单,但这个可是让我头疼了一天才摸索出来的,尽管百度上有,但都不全面,我就喜欢看那种全面的代码解决思路,多说无用,上代码就好了

 

1.Controller类

@PostMapping("/senvKpiTree/insertkpi")
    @AutoLog(description = "新增指标接口")
    @ApiOperation(value = "新增指标接口", notes = "序号不能重复")
    public BaseResponse insertKpi(@RequestBody List<SenvKpiTreeVO> senvKpiTreeVO) {
        BaseResponse baseResponse = senvKpiTreeValidator.verifyInsertKpi(senvKpiTreeVO);
        if (!baseResponse.getResult()) {
            return baseResponse;
        }
        if (senvKpiTreeService.insertBatch(senvKpiTreeVO)) {
            return new BaseResponse(true, "新增成功", 0);
        } else {
            return new BaseResponse(true, "新增失败", -1);
        }
    }

2.参数校验类

 

@Service
public class SenvKpiTreeValidator extends BaseValidator {

    public BaseResponse verifyInsertKpi(List<SenvKpiTreeVO> request) {
        for (SenvKpiTreeVO param : request) {
            if (param == null) {
                return setErrorResponse(24040201, "请求报文为空");
            }
            if (StringUtils.isBlank(param.getSerialNumber())) {
                return setErrorResponse(24040202, "SerialNumber不能为空");
            }
            if (param.getWeight() > 1 || param.getWeight() < 0) {
                return setErrorResponse(24040203, "Weight在0和1之间");
            }
            if (StringUtils.isBlank(param.getCategory())) {
                return setErrorResponse(24040204, "Category不能为空");
            }
        }
        return setSuccessResponse();
    }
}

 

3.Service接口方法

 Boolean insertBatch(List<SenvKpiTreeVO> senvKpiTree);

4.Service服务实现层

 

@Override
    public Boolean insertBatch(List<SenvKpiTreeVO> kpiList) {
        if (CollectionUtils.isEmpty(kpiList)) {
            return false;
        }
        senvKpiTreeMapper.insertBatch(copyList(kpiList, SenvKpiTree.class));
        return true;
    }

 

5.mapper层

void insertBatch(List<SenvKpiTree> model);

6.mapping映射

 

<!--新增:批量新增-->
    <insert id="insertBatch" parameterType="java.util.List">
        INSERT INTO senv_kpi_tree
        (serial_number,weight,category,kpi_name,target_value,standard)
        VALUES
        <foreach collection="list" item="item" index="index" separator=",">
            (#{item.serialNumber},#{item.weight},#{item.category},#{item.kpiName},#{item.targetValue},#{item.standard})
        </foreach>
    </insert>

 

  

 

标签:insertBatch,return,BaseResponse,批量,List,新增,param,item,单表
来源: https://www.cnblogs.com/wnlsq/p/13865256.html