当前位置: 首页
AI教程
MyBatis中foreach标签遍历List数组和Map三种集合方式使用详解

MyBatis中foreach标签遍历List数组和Map三种集合方式使用详解

热心网友 时间:2026-07-08
转载

MyBatis中foreach标签的collection参数依参数类型取值:数组为array,List为list,Map为指定键集合。item定义迭代别名,open close设前后缀,separator定分隔符。掌握对应关系即可实现动态IN查询。

在 MyBatis 中编写动态 SQL 时,foreach 标签无疑是高频利器,不过很多开发者初次接触时容易被它的属性绕晕。别担心,咱们把核心参数逐一拆解,再用三个典型场景演示一遍,你就能灵活运用了。

collection 属性决定了你要遍历的数据类型,共有三种取值:listarraymap——分别对应 List、数组、Map 这三种集合。其中 item 是每次迭代时元素的别名,index 表示当前迭代的下标位置。openclose 分别控制拼接时添加的前缀和后缀,separator 则是元素之间的分隔符。搞懂这些参数后,直接看实例。

先看数组的用法

假设有一组 ID 数组:int[] ids = {1,2,3,4,5},我们要根据这些 ID 查询 team 表。参数类型传 int[](注意这里传的是数组,所以 collectionarray),foreach 会自动把 ID 拼成 (1,2,3,4,5) 的格式。

再来看 Map 的应用

当参数是 java.util.HashMap 时,collection 要填写 keys(即你在 Map 中存储的键集合名称)。这个例子中,我们既要模糊匹配 title,又要限制 ID 范围,因此把 keys 作为集合传给 foreach

mybatis 中foreach的三种遍历

最后是 List 的遍历

List 是最常用的场景,直接传入 java.util.Listcollectionlist 即可。比如要批量查询 ID 列表,写法简洁明了。

总结一下:collection 的值取决于你传入的参数类型,数组用 array,Map 用你指定的键集合名(通常取名 keysvalues),List 用 list。牢记这个对应关系,再套用 open/separator/close 的格式,动态 IN 查询基本不会出错。

来源:https://developer.aliyun.com/article/705010

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
Claude Code 必知的14个高效工作流,让你的开发效率提升300%

Claude Code 必知的14个高效工作流,让你的开发效率提升300%

Claude Code 常用工作流 先分享几项核心判断:Claude Code 真正强大的地方,并非仅仅在于它能编写代码——而是它让“编码”这件事本身变得更加高效且可控。你大概率遇到过这类场景:接手一个陌生项目,花了一整天才能理清架构;线上出现报错,翻遍日志也找不到根本原因;想要重构遗留代码,又担心

时间:2026-07-09 17:49
阿里云通义AIGC平台完全指南:设计师AI生产力革命

阿里云通义AIGC平台完全指南:设计师AI生产力革命

一、写在前面:为什么设计师需要关注AIGC? 如果你还在手动一张一张制作海报、反复修改客户口中“感觉不对”的配色方案、为电商详情页准备几十张不同场景的产品图——那么你一定经历过这些痛点: 创意瓶颈:脑海中有画面,但手绘无法呈现 重复劳动:调整尺寸、更换背景、批量生成变体消耗了大量时间精力 成本焦虑:

时间:2026-07-09 16:48
零基础毕设代码二次开发:3文件定位法及Vue/Java修改对照表

零基础毕设代码二次开发:3文件定位法及Vue/Java修改对照表

每年一到毕业季,计算机专业的同学总会陷入一个共同的怪圈:从 GitHub 上扒下来一套代码,或者用 AI 生成一个项目,看起来挺完整的,可导师一句“加个筛选条件”或“换个页面颜色”,瞬间就懵了——不敢改,不会改,怕改崩。是不是很熟悉? 一、为什么AI生成的毕设代码你 "不敢改 "? 1 1 毕业生的三大

时间:2026-07-09 16:46
反向海淘订单系统:状态机与分布式事务实战设计

反向海淘订单系统:状态机与分布式事务实战设计

先分享一个反直觉的结论:反向海淘订单管理的真正挑战,往往不在于业务逻辑本身,而在于状态流转。一个订单的生命周期拉长到跨国运输,中间涉及的环节多、系统多、参与者多,状态稍有错乱就可能引发连锁事故。Taocarts团队在实践中踩了不少坑,最终沉淀下来的这套状态机与分布式事务方案,成功解决了这一复杂难题。

时间:2026-07-09 16:46
AI并未抢走程序员饭碗而是更新了编程菜单

AI并未抢走程序员饭碗而是更新了编程菜单

AI并未大规模替代程序员,而是改变了职业结构。重复性编码岗位需求下降35%至15%,而AIAgent开发等岗位需求激增187%。开发者焦虑从“被替代”转向“跟不上变化”,60%程序员已使用AI辅助编程。人的核心价值转向架构设计、技术决策和审查AI生成代码,AI技能带来16%薪资溢价。

时间:2026-07-09 16:46
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 热门数据榜