使用 mybatis 做 mysql 的批量插入

一 环境 jdk8 + maven + springboot + mybatis + lombok

二 新建数据实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {

    private String userName;
    private String passWord;

}

三 新建批量插入mapper文件

@Mapper
@Component
public interface BatchInsertMapper {

    /*
     *  type = 生成批量插入sql的类
     *  method = 类中生成sql的方法名称
     */
    @InsertProvider(type = BatchInsertSql.class , method = "BatchUserInsert")
    void batchInsertUser(Map<String,List<User>> arges);

}

四 新建批量插入sql文件

public class BatchInsertSql {

   public String BatchUserInsert(Map<String,List<User>> arges){

        List<User> list = arges.get("List");

        StringBuilder result = new StringBuilder();
        result.append(" INSERT INTO `user`(username,password) VALUES ");

        list.forEach(v -> {
            result.append("( \'" + v.getUserName() + "\',\'"  + v.getPassWord() + "\'),");
        });

        result.setLength(result.length() - 1);
        return result.toString();
    }

}

五 测试

@Test
public void testBatchInsert(){
		
	Map<String, List<User>> HashMap = Maps.newHashMap();

	HashMap.put("List",Arrays.asList(
			new User("张三","111"),
			new User("李四","112"),
			new User("王五","113")
	));

	bim.batchInsertUser(HashMap);
}

查询下

成功!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值