关于foreach迭代Map类型的多参数入参

使用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中的键和测试函数中的键相同就可以取到值

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容