mybatis批量插入

第一种:

业务代码进行for循环进行批次插入

例:
业务代码:impl实现类

public save(){
	for(int i=0;i<5;i++){
        user = new User();
        user.setId("test" + i);
        user.setName("name" + i);
        user.setA("0");
        mapper.insert(user);
	}
}

mapper文件:

<insert id="insert">
    INSERT INTO t_user (id, name, a)
          VALUES(#{id}, #{name}, #{a})
</insert>

第二种:

使用mybatis的xml中foreach循环插入

例:
业务代码:impl实现类

//先将数据存放至list内
public void testInsertBatch() throws Exception {
    long start = System.currentTimeMillis();
    List<User> list = new ArrayList<>();
    User user;
    for (int i = 0; i < 10000; i++) {
        user = new User();
        user.setId("test" + i);
        user.setName("name" + i);
        user.setA("0");
        list.add(user);
    }
    userService.insertBatch(list);
}

mapper文件:

<insert id="insertBatch">
    INSERT INTO t_user
            (id, name, a)
    VALUES
    <foreach collection ="list" item="user" separator =",">
         (#{user.id}, #{user.name}, #{user.a})
    </foreach >
</insert>

插入数据模板样子:

INSERT INTO t_user
            (id, name, a)
    VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?......
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值