mybatis map foreach遍历
mybatis 遍历 map 实例
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</span><Long> roleList=<span style="color: rgba(0, 0, 255, 1)">new</span> ArrayList<Long><span style="color: rgba(0, 0, 0, 1)">(); roleList.add(</span>10000000050086L<span style="color: rgba(0, 0, 0, 1)">); roleList.add(</span>10000012180016L<span style="color: rgba(0, 0, 0, 1)">); params.put(</span>"org"<span style="color: rgba(0, 0, 0, 1)">, orgList); params.put(</span>"role"<span style="color: rgba(0, 0, 0, 1)">, roleList); List</span><BpmDefUser> list=<span style="color: rgba(0, 0, 0, 1)"> bpmDefUserDao.getByMap(params); System.out.println(list.size()); }</span></pre>
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);}</span></pre>
xml 代码如下:
<select id="getByMap" resultMap="BpmDefUser"><span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">foreach </span><span style="color: rgba(255, 0, 0, 1)">collection</span><span style="color: rgba(0, 0, 255, 1)">="relationMap"</span><span style="color: rgba(255, 0, 0, 1)"> index</span><span style="color: rgba(0, 0, 255, 1)">="key"</span><span style="color: rgba(255, 0, 0, 1)"> item</span><span style="color: rgba(0, 0, 255, 1)">="ent"</span><span style="color: rgba(255, 0, 0, 1)"> separator</span><span style="color: rgba(0, 0, 255, 1)">="union"</span><span style="color: rgba(0, 0, 255, 1)">></span><span style="color: rgba(0, 0, 0, 1)"> SELECT * FROM BPM_DEF_USER where RIGHT_TYPE=#{key} and OWNER_ID in </span><span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">foreach </span><span style="color: rgba(255, 0, 0, 1)">collection</span><span style="color: rgba(0, 0, 255, 1)">="ent"</span><span style="color: rgba(255, 0, 0, 1)"> item</span><span style="color: rgba(0, 0, 255, 1)">="id"</span><span style="color: rgba(255, 0, 0, 1)"> separator</span><span style="color: rgba(0, 0, 255, 1)">=","</span><span style="color: rgba(255, 0, 0, 1)"> open</span><span style="color: rgba(0, 0, 255, 1)">="("</span><span style="color: rgba(255, 0, 0, 1)"> close</span><span style="color: rgba(0, 0, 255, 1)">=")"</span><span style="color: rgba(0, 0, 255, 1)">></span><span style="color: rgba(0, 0, 0, 1)"> #{id} </span><span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">foreach</span><span style="color: rgba(0, 0, 255, 1)">></span> <span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">foreach</span><span style="color: rgba(0, 0, 255, 1)">></span> <span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">select</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
index 作为 map 的 key。item 为 map 的值,这里使用了嵌套循环,嵌套循环使用 ent。