有时候,我们查询余军的传参为:一个集合+一个参数,这该怎们办呢,话不多说,开始上代码;
DAO层:
List<Menu> listMenueByIdAndLevel(@Param(“ids)List<Integer> ids,@Param(“level”)Integer level);
SQL:
<select id=”listMenueByIdAndLevel” resultMap=”BaseResultMap”>
SELECT *
FROM menu
WHERE menu_Id IN
<foreach collection=”ids” open=”(” close=”)” separator=”,” item=”id”>
#{id}
</foreach>
AND menu_Level=#{level}
</select>
说明:
这是用到是foreach标签:
属性collection:
- 传参只是一个集合:list;
- 传参为一个数组:array;
- 传参为一个map:map;
- 传参为一个dao接口指定的值,比如上面的ids(这里我就是用的这种方法);
- open: 表示语句开始
- close:表是语句结束
- separator:每次分隔时的符号
- item:遍历时获取元素的别名