• 单表批量新增


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

    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>
    

      

  • 相关阅读:
    虚拟机centOs和主机ssh互连
    centos7 利用yum安装mysql8.0
    MySQL触发器trigger的使用
    VMware虚拟机优化
    VM tools的安装
    CentOS下tar包和rpm包的区别
    如何解决VMware-vmx.exe无法彻底删除的问题
    JVM结构及堆的划分
    MYSQL: set names utf8是什么意思?
    collate utf8_bin和uft-8_general_ci是什么意思?
  • 原文地址:https://www.cnblogs.com/wnlsq/p/13865256.html
Copyright © 2020-2023  润新知