zoukankan      html  css  js  c++  java
  • mybatis 批量更新

     <update id="updateBaBaBa" parameterType="java.util.Map">
         <foreach collection="go" index="index" item="item"  separator=";" >
             update tenant_account set remainder = remainder + #{item.sumM},order_finished = order_finished+#{item.countO},remainder_update_time = #{item.remainder_update_time} where the_super_id = #{item.tId}
         </foreach>
      </update>

    参数

            /**
             *
             *      tId  tenandId
             *      sumM
             *      countO
             *      remainder_update_time
             *
             *      tId  tenandId
             * go - sumM
             *      countO
             *      remainder_update_time
             *
             *      tId  tenandId
             *      sumM
             *      countO
             *      remainder_update_time
             *
             */
            Map<String, List<Map<String, String>>> va = new LinkedHashMap<>();
    
            List<Map<String, String>> list = new LinkedList<>();
    
            String thisOne = null;
            if(null == table){
                //前一天的临时表
                if (DBCWriteVerticle.currentTempTable.equals("orders_temp1")) {
                    thisOne = "orders_temp4";
                } else if (DBCWriteVerticle.currentTempTable.equals("orders_temp2")) {
                    thisOne = "orders_temp1";
                } else if (DBCWriteVerticle.currentTempTable.equals("orders_temp3")) {
                    thisOne = "orders_temp2";
                } else if (DBCWriteVerticle.currentTempTable.equals("orders_temp4")) {
                    thisOne = "orders_temp3";
                }
            }else {
                thisOne = table;
            }
            for (String tId : tenantIds) {
                Map<String, String> param = new HashMap<>();
    
                param.put("tableName",thisOne);
                param.put("the_super_id", tId);
    
                Map<String, Long> re = sqlSession.selectOne(MybatisNamespace.ordersTemp_selectTotal, param);
    
                Map<String, String> foIn = new LinkedHashMap<>();
                foIn.put("tId", tId);
                foIn.put("sumM", re.get("sumM") + "");
                foIn.put("countO", re.get("countO") + "");
                foIn.put("remainder_update_time", new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(new Date().getTime()));
    
    
                list.add(foIn);
    
            }
    
    
            va.put("go", list);
    
            sqlSession.close();
    
            System.out.println("         111111111112222222222  " + va.get("go").get(0).get("sumM"));
    
            SqlSession sqlSessionUpdate = null;
            boolean ok = true;
            try {
                sqlSessionUpdate = sqlSessionFactory.openSession(false);
                sqlSessionUpdate.update(MybatisNamespace.tenantAccount_updateBaBaBa, va);
  • 相关阅读:
    [总结]链表与栈
    统计学基础知识
    图卷积神经网络(GCN)入门
    [总结]字符串
    [总结]数组
    [总结]排序算法分析与实现
    [Leetcode]307. Range Sum Query
    深度解析Droupout与Batch Normalization
    深度解析Graph Embedding
    Console命令,让js调试更简单
  • 原文地址:https://www.cnblogs.com/LiuPan2016/p/8655493.html
Copyright © 2011-2022 走看看