一 环境 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);
}
查询下
成功!