很简单,例如 dao
List<Map> findByYear(List<Integer> yearList,@Param("yearOldList") List<Integer> yearOldList);
xml
<select id="findByYear" resultType="java.util.Map">
SELECT * from my_data where year in
<foreach collection="yearOldList" item="year" index="index" open="(" close=")" separator=",">
#{year}
</foreach>
</select>
item 需要和 #{} 里值一致,在多个参数情况 collection 与 List 别名一致,如果是一个参数的话 collection 默认填 list 就行。
但是如果多个参数填 list 的话就会报错
Parameter 'list' not found. Available parameters are [0, yearOldList, param1, param2]
从报错中可以看出 collection 可以填别名、param1(代表第一个参数)、param2(代表第二个参数),但是还是建议在多参数时用别名