MyBatis 中的
<foreach>
元素可以用于在 SQL 语句中循环处理集合元素,方便地生成 IN 语句,以及一些其它的场景。
当循环的集合元素是一个 List 类型的对象时,可以通过在
<foreach>
元素中使用
collection
属性来指定集合属性名,例如:
<update id="updateUsers" parameterType="map">
update users
<foreach collection="list" item="item" separator=",">
${item.name} = #{item.value}
</foreach>
</set>
where id = #{id}
</update>
其中,collection 属性的值为传入的参数 Map 对象中的 List 类型属性名。在循环体中,使用 item 属性名来指定当前遍历的元素,然后就可以通过 ${item.xxx} 或 #{item.xxx} 的方式来访问该元素中的属性值了。
需要注意的是,当循环集合元素是一个对象时,需要在对象中定义相应的属性和 getter 方法,才能在循环体中访问该属性。
总的来说,<foreach> 元素的使用非常灵活,可以支持各种类型的集合元素,只需要设置合适的属性和循环体内容即可。