使用foreach迭代入参,是mybatis框架中一种常用的入参方式。主要应用于数据库语句中
如果数据库中查询的条件是根据性别和一个id数组进行查询
那么语句就应该
select * from smbms_user
where sex=#{sex} and
id in
<foreach collection="key" item="idlist" open="(" sparator="," close=")">
#{idlist}
</foreach>
然后在接口中定义抽象方法进行参数传递
注意参数类型最好定义为Map<String,Object>
例如public List<User> selectUser(Map<String,Object> userMap)
在测试函数中定义map集合和List集合
Map<String,Object> userMap=new HashMap<>();
List<Integer> userId=new ArrayList<>();
userId.add(1);
userId.add(2);
map.put("sex","男");
map.put("key",userId);
参数的传递是通过map集合中的键读取的比如,上述程序中的参数值是通过读取键对应的value值赋给数据库的,item中的名字只需要和#{item}相同就可以,只要collection中的键和测试函数中的键相同就可以取到值