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>
    

      

  • 相关阅读:
    DIY 作品 及 维修 不定时更新
    置顶,博客中所有源码 github
    openwrt PandoraBox PBR-M1 极路由4 HC5962 更新固件
    使用 squid 共享 虚拟专用网至局域网
    第一次参加日语能力测试 N5
    libx264 libfdk_aac 编码 解码 详解
    开发RTSP 直播软件 H264 AAC 编码 live555 ffmpeg
    MFC Camera 摄像头预览 拍照
    http2 技术整理 nginx 搭建 http2 wireshark 抓包分析 server push 服务端推送
    plist 图集 php 批量提取 PS 一个个切
  • 原文地址:https://www.cnblogs.com/wnlsq/p/13865256.html
Copyright © 2011-2022 走看看