zoukankan      html  css  js  c++  java
  • 单表批量新增

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

    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>
    

      

  • 相关阅读:
    leetcode网解题心得——61. 旋转链表
    leetcode面试题 02.06. 回文链表,解题心路
    池化技术——自定义线程池
    使用java基础实现一个简陋的web服务器软件
    操作系统中的经典问题——生产者消费者问题(两种方式实现)
    javascript垃圾收集 [重温JavaScript基础(三)]
    JavaScript 执行环境以及作用域链[重温JavaScript基础(二)]
    基本类型和引用类型的值 [重温JavaScript基础(一)]
    css中的函数
    z-index的展现形式
  • 原文地址:https://www.cnblogs.com/wnlsq/p/13865256.html
Copyright © 2011-2022 走看看