zoukankan      html  css  js  c++  java
  • Mybatis 批量更新多个字段值

    Mybatis 批量更新多个字段值

    Controller

        /**
         *
         * @Description: 生产物资-指标 发布接口
         * @Creator: tangsw
         * @CreateTime: 2019-12-25 10:37:34
         * @Modifier:
         * @ModifyTime:
         * @Reasons:
         * @param output 产品生产产量
         * @param capacity 产能利用率
         * @param contract 按期履约率
         * @param vendor 供应商不良行为处置率
         * @return
         * @throws Exception
         */
        @RequestMapping(value = {
                "/updStatus/output/publish",
                "/updStatus/capacity/publish",
                "/updStatus/contract/publish",
                "/updStatus/vendor/publish"
        })
        @ResponseBody
        @OptLog(module = "生产物资-指标", operate = "根据ids更新发布状态")
        public R updatePublishByIds(@RequestBody List<String> ids) throws Exception {
            Assert.notNull(ids, "ids不能为空");
    
            Map<String, Object> params = new HashMap<>();
            List<Map<String, Object>> list = new ArrayList<>();
            for (String id : ids) {
                Map<String, Object> map = new HashMap<>();
                map.put("id", id);
                map.put("status", PgCommonIndexFinalKV.INDEX_ADMIN_PUBLISH_STATUS);
                map.put("mdate", new Date());
                map.put("muser_id", getCurrentUser().getId());
                list.add(map);
            }
            params.put("list", list);
            int n = indexProdcutService.updatePublishByIds(params);
            return R.ok("生产物资-指标 发布成功", n);
        }
    Controller

    Service

    public int updatePublishByIds( Map<String,Object>params);
    Service

    ServiceImpl

        @Override
        public int updatePublishByIds(Map<String, Object> params) {
            return super.dao.updatePublishByIds(params);
        }
    ServiceImpl

    Dao

    public int updatePublishByIds(Map<String,Object>params);
    Dao

    sql.xml

        <update id="updatePublishByIds" parameterType="java.util.Map">
            <foreach collection="list" item="item" index="index" open="begin" close=";end;" separator=";">
                update INDEX_PRODCUT
                <set>
                    <if test="item.status != null and item.status !='' ">
                        status=#{item.status,jdbcType=VARCHAR},
                    </if>
                    <if test="item.mdate != null ">
                        mdate=#{item.mdate,jdbcType=TIMESTAMP},
                    </if>
                    <if test="item.muser_id != null and item.muser_id !=''  ">
                        muser_id=#{item.muser_id,jdbcType=VARCHAR}
                    </if>
                </set>
                where id = #{item.id}
            </foreach>
        </update>
    sql.xml
  • 相关阅读:
    Codeforces Round #649 (Div. 2) D. Ehab's Last Corollary
    Educational Codeforces Round 89 (Rated for Div. 2) E. Two Arrays
    Educational Codeforces Round 89 (Rated for Div. 2) D. Two Divisors
    Codeforces Round #647 (Div. 2) E. Johnny and Grandmaster
    Codeforces Round #647 (Div. 2) F. Johnny and Megan's Necklace
    Codeforces Round #648 (Div. 2) G. Secure Password
    Codeforces Round #646 (Div. 2) F. Rotating Substrings
    C++STL常见用法
    各类学习慕课(不定期更新
    高阶等差数列
  • 原文地址:https://www.cnblogs.com/tangshengwei/p/12308269.html
Copyright © 2011-2022 走看看