zoukankan      html  css  js  c++  java
  • 关于mybatis map foreach遍历

    前言:

    map 数据如下 Map<String,List<Long>>.

    测试代码如下:

    复制代码
    public void getByMap(){
            Map<String,List<Long>> params=new HashMap<String, List<Long>>();
            List<Long> orgList=new ArrayList<Long>();
            orgList.add(10000003840076L);
            orgList.add(10000003840080L);
            
            List<Long> roleList=new ArrayList<Long>();
            
            roleList.add(10000000050086L);
            roleList.add(10000012180016L);
            
            params.put("org", orgList);
            params.put("role", roleList);
            
            List<BpmDefUser> list= bpmDefUserDao.getByMap(params);
            System.out.println(list.size());
            
        }
    复制代码

    dao代码如下:

    public List<BpmDefUser> getByMap(Map<String,List<Long>> map){
            Map<String,Object> params=new HashMap<String, Object>();
            params.put("relationMap", map);
            return this.getBySqlKey("getByMap", params);
            
        }

    xml代码如下:

    复制代码
    <select id="getByMap" resultMap="BpmDefUser">
            
                <foreach collection="relationMap" index="key"  item="ent" separator="union">
                    SELECT *
                    FROM BPM_DEF_USER
                    where  RIGHT_TYPE=#{key}
                    and OWNER_ID in 
                    <foreach collection="ent"  item="id" separator="," open="(" close=")">
                        #{id}
                    </foreach>
                </foreach>
            
        </select>
    复制代码

    index 作为map 的key。item为map的值,这里使用了嵌套循环,嵌套循环使用ent。

  • 相关阅读:
    Repository 模式
    alert ALTER
    asp.net mvc source(2)ActionResult
    ??
    asp.net mvc source(1) MvcHandler
    shortkey
    sql 搜索 关键系 存储过程
    asp.net mvc source(3)Attribute
    输入错误: 没有文件扩展“.js”的脚本引擎。
    CI学习 header和footer
  • 原文地址:https://www.cnblogs.com/ZJOE80/p/7863062.html
Copyright © 2011-2022 走看看