Mybatis动态sql中的foreach标签的使用

本文详细介绍了Mybatis中foreach标签的四种用法,包括批量增加、构建in条件语句、批量增加(map)和批量更新。通过示例展示了如何配置和使用foreach标签,以及在不同场景下的应用,强调了其在提升数据库操作效率上的作用。
摘要由CSDN通过智能技术生成

foreach 标签一般用于遍历集合,构建in条件语句或者批量操作语句

<insert id="batchSave" parameterType="java.util.List">
    INSERT INTO tb_user (name,age,sex) values 
    <foreach collection="users" item="user" index="index" separator=",">
        (#{user.name},#{user.age},#{user.sex})
    </foreach>
</insert>

  相应的Mapper里面的代码: 

import org.springframework.data.repository.query.Param;

public interface UserMapper {
    int batchSave(@Param(value = "users")List<User> users));
}

以下是foreach标签的各个属性:

collection:表示迭代集合的名称,可以使用@Param注解指定,如上所示

item:表示本次迭代获取的元素,若collection为List、Set或者数组,则表示其中的元素;若collection为map,则代表key-value的value

index:在List、Set和数组中,index表示当前迭代的位置,在map中,index代指是元素的key

separator:mybatis会在每次迭代后给sql语句append上separator属性指定的字符

假设接口中传递的list如下所示: 

User user1=new User();
user
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值