mybatis 中 foreach collection的常用用法

简介: mybatis 中 foreach collection的常用用法

MyBatis中的foreach标签用于在SQL语句中遍历集合,并将集合中的元素逐个应用到SQL语句中。以下是foreach标签的常见用法示例:

1.遍历List或数组:

<select id="findUsersByIds" resultType="User">
  SELECT * FROM users
  WHERE id IN
  <foreach item="id" collection="ids" open="(" separator="," close=")">
    #{id}
  </foreach>
</select>

上述示例中,ids为一个List或数组,通过foreach标签将其中的元素逐个应用到SQL语句中的IN子句中。

2.遍历Map:

<select id="findUsersByMap" resultType="User">
  SELECT * FROM users
  WHERE
  <foreach item="entry" collection="params" separator="AND">
    ${entry.key} = #{entry.value}
  </foreach>
</select>

上述示例中,params为一个Map,通过foreach标签将其中的键值对逐个应用到SQL语句中的WHERE条件中。

3.使用index属性:

<select id="batchUpdateUsers" parameterType="List">
  <foreach item="user" index="index" collection="users" open="begin;" separator=";" close="end;">
    UPDATE users SET name = #{user.name}, age = #{user.age} WHERE id = #{user.id};
  </foreach>
</select>


相关文章
|
2月前
|
Java 数据库连接 数据库
Mybatis-plus中的QueryWrapper的多种用法!(总结)
Mybatis-plus中的QueryWrapper的多种用法!(总结)
60 0
|
4月前
|
SQL Java 数据库
深入解析MyBatis-Plus中静态工具Db的多种用法及示例
深入解析MyBatis-Plus中静态工具Db的多种用法及示例
128 0
|
4月前
|
关系型数据库 Java 数据库连接
MyBatis-Plus高级用法
【1月更文挑战第5天】MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window) 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
51 2
|
4月前
|
测试技术 数据库
深入探索MyBatis-Plus中Service接口的lambdaUpdate用法及示例
深入探索MyBatis-Plus中Service接口的lambdaUpdate用法及示例
260 0
|
2月前
|
XML Java 数据库连接
mybatis报错:java.lang.IllegalArgumentException: Mapped Statements collection does not contain
mybatis报错:java.lang.IllegalArgumentException: Mapped Statements collection does not contain
16 0
|
2月前
|
SQL Java 关系型数据库
MyBatis的动态SQL之OGNL(Object-Graph Navigation Language)表达式以及各种标签的用法
MyBatis的动态SQL之OGNL(Object-Graph Navigation Language)表达式以及各种标签的用法
18 0
|
2月前
|
SQL Java 关系型数据库
MyBatis中的9种常用动态sql标签精妙用法
MyBatis中的9种常用动态sql标签精妙用法
84 0
|
5月前
|
SQL IDE Java
MyBatis【问题 01】mapper传入array\collection\list类型的参数时报BindingException:Parameter ‘xx‘ not found问题复现及解决
MyBatis【问题 01】mapper传入array\collection\list类型的参数时报BindingException:Parameter ‘xx‘ not found问题复现及解决
60 0
|
5月前
|
XML Java 数据库连接
MyBatis中批量操作foreach与BatchExecutor使用详解
MyBatis中批量操作foreach与BatchExecutor使用详解
100 0