- 使用mybatis传入数组或者list集合类型的参数时 如果要用自己的参数名必须要加@param
public int deleteRoleByIds(@param Integer[] ids); • 1
<where> id <foreach collection="ids" item="id" index="index" open="in (" close=")" separator=","> #{id} </foreach> </where>
- 在mybatis中如果传入数组类型的参数。myabtis会把数组转成Map,map的key是array ,value 则是数组里面的值。Map<array,value>.
所以如果不加@Param那么只能如下写sql。 - 不加@param
public int deleteRoleByIds(Integer[] ids);
<where> id <foreach collection="array" item="id" index="index" open="in (" close=")" separator=","> #{id} </foreach> </where>
- 如果不加@Param。用自己的变量名ids 在sql片段里面。Mybatis会报错。找不到参数名ids。