mybatis 中 foreach collection的常用用法
MyBatis中的foreach标签用于在SQL语句中遍历集合,并将集合中的元素逐个应用到SQL语句中。上述示例中,params为一个Map,通过foreach标签将其中的键值对逐个应用到SQL语句中的WHERE条件中。上述示例中,ids为一个List或数组,通过foreach标签将其中的元素逐个应用到SQL语句中的IN子句中。
·
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>
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)