mybatis foreach

来源:互联网 发布:颜值测试软件 编辑:程序博客网 时间:2024/05/22 10:43

参数是map:
Map<String, String> searchDataMap

<foreach collection="searchDataMap.keys"  item="key" separator="and">
                 <if test="null != searchDataMap[key]">  
                      ${key} = #{searchDataMap[${key}]}
                 </if>
</foreach>



参数是List
List<TbFlWfCol> cloumList
<if test="cloumList.size > 0">
    <foreach collection="cloumList"  item="cloum" separator="">
                  max(CASE propKey WHEN #{cloum.propKey} THEN propValue  END) as ${cloum.propKey},
    </foreach>
</if>

List<String> appIds
<if test="appIds.size > 0">
    and t0.appId in  
    <foreach item="appId" collection="appIds" open="(" separator="," close=")">  
        #{appId}  
    </foreach>  
</if>


返回List<Object[]>数据
<select id="queryByAppIdAndSearch" resultType="java.util.HashMap">  
</select>

每一条返回所有的列,以键值对返回,如:
一条:[{appId=16, b=研发部, c=500, a=杭州, itemId=11111}]
多条:
[{appId=16, b=研发部, c=500, a=杭州, itemId=11111},
{appId=16, b=运营部, c=100, a=上海, itemId=22222},
{appId=17, b=市场部, c=350, a=北京, itemId=33333},
{appId=16, b=客服部, c=490, a=天津, itemId=44444},
{appId=16, b=行政部, c=812, a=苏州, itemId=55555},
{appId=16, b=研发部, c=333, a=上海, itemId=66666}]

Map<String, Object> params = new HashMap<String, Object>();
params.put("appIds",applicationList);
params.put("cloumList",cloumList);
params.put("searchDataMap",searchDataMap);
List<Map<String, Object>>  resultList = tbFlWfDataDao.queryByAppIdAndSearch(params);
1 0