游乐游手机版
首页/AI教程/文章详情

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

时间:2026-07-08 15:10
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
上一篇Claude有了没说出口的念头,AI意识还远吗 下一篇年3款口碑最好中小企业点单小程序制作工具
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Claude Code官方教你Loop工程附6大省token技巧
AI教程 · 2026-07-08

Claude Code官方教你Loop工程附6大省token技巧

之前写过一篇《Loop Engineering 的保姆级教程》,从概念到多工具实战,比较全面地讲了循环工程的玩法。这两天 Claude Code 官方团队下场,发了一篇博客叫「Getting started with loops」,系统地整理了他们团队内部对「循环」的定义和分类。 这篇博客的含金量十

阿里云2核4G服务器价格与选型:实例规格、收费标准及活动价
AI教程 · 2026-07-08

阿里云2核4G服务器价格与选型:实例规格、收费标准及活动价

阿里云2核4G这个配置,可以说是个人站长和中小企业用户最常关注的“爆款”了。不过它的价格可不是一个固定的数字,而是跟实例规格、带宽、云盘类型、地域等等因素紧密相关。比如目前轻量应用服务器2核4G给到峰值200M带宽、50G ESSD云盘,抢购价能做到9 9元1个月或者199元1年。通用算力型u1实例

阿里巴巴研发效能实践日:敏捷精益项目管理报名
AI教程 · 2026-07-08

阿里巴巴研发效能实践日:敏捷精益项目管理报名

研发效能提升领域又有重磅消息了。阿里巴巴研发效能实践日——由阿里研发效能部主办的线下沙龙品牌,这次携手全球领先的项目管理协会PMI,共同聚焦“敏捷精益项目管理”这一核心主题。听起来就干货满满?别急,活动精心安排了4大主题演讲,旨在帮助参会者在思维层面实现突破,并且回去就能直接落地实践。更关键的是,参

RFID资产管理系统:企业资产数字化高效管控方案
AI教程 · 2026-07-08

RFID资产管理系统:企业资产数字化高效管控方案

数字化转型走到今天,传统人工管资产那套老办法——效率低、差错多、资产一挪窝就成“失踪人口”——已经越来越扛不住了。从仓库、车间到办公室,但凡资产流转量大、品类多的企业,都急需一套能实时盯、自动盘的方案。结合多行业的落地经验来看,RFID资产管理系统之所以能成为主流选择,核心在于它用射频技术把资产全生

智能体工作流知识沉淀:从一次修复到长期记忆
AI教程 · 2026-07-08

智能体工作流知识沉淀:从一次修复到长期记忆

好的,作为一位资深的技术专家和知识管理实践者,我将为你重新讲述这篇文章的核心内容,让这些观点和案例听起来更像是一次真诚的技术分享,而不是一份AI生成的报告。 在传统软件工程里,我们反复念叨“代码复用”,但到了AI Agent参与的工程时代,真正能产生复利的东西变了——从“代码复用”悄然转向了“知识复