mybatis foreach标签遍历Map数据对象

//接口传参为Map嵌套Map,内层Map为需要遍历的参数 Key = value
 Map<String, Map<String, Object>> searchMap = new HashMap<String, Map<String, Object>>();

   //foreach标签内遍历的对象  
    //    如:ParamMap={"AA":"BB"}
    // 遍历后的生成的sql为 select *  from XXX where AA=BB
   HashMap<String, Object> searchParamMap = new HashMap<String, Object>();
   searchParamMap.put("AA","BB");

   searchMap.put("searchParamMap", searchParamMap);

//xml文件:
<select id="selectSql" resultType="java.util.Map" parameterType="java.util.Map">
select *  from XXX

<where>
// 判断是否为空,以免报错
<if test="searchParamMap!=null">

  <foreach collection="searchParamMap" index="key" item="value" open=""  close=""separator=",">
         and #{key}= ${value}
  </foreach>
</if>

</where>

</select>

版权声明:本文为qq_40591348原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。