mybatis循环遍历map中list、string、实体对象
程序员文章站
2022-07-01 07:55:03
...
很多时候能写一个sql支持各种查询,无需因为一个条件则复制一大堆重复的sql,固使用了map传值。
Map<String,Object> map = new HashMap<>();
List<String> list = new ArrayList<>();
String aa = "aa";
List<实体> objlist = new ArrayList<>();
样例如上,mybatis实现如下:
map.put("stringList",list);
<if test="stringList!= null and stringList.size()>0">
<foreach collection="stringList" item="id">
OR A.ID=#{id}
</foreach>
</if>
map.put("aa",aa);
<if test="aa != null and aa != ''">
AND A.ID=#{aa}
</if>
map.put("objList",list);
<if test="objList!= null and objList.size()>0">
<foreach collection="objList" item="obj">
OR A.ID=#{obj.id}
</foreach>
</if>