<insert id="batchInsert" parameterType="java.util.List">
insert into table(
column1,
column2,
column3,
column4,
column5)
values
<foreach collection="list" item="item" separator=",">
(
#{item.value1},
#{item.value2},
#{item.value3},
#{item.value4},
#{item.value5}
)
</foreach>
</insert>
POJO
package com.jt.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
@Data
@Accessors(chain = true)
@TableName(value = "user_test") //当表名与实体类的驼峰命名不对应时使用
public class User implements Serializable {
//使用注解雪花算法生成id
@TableId(type = IdType.NONE)
private Long id;
private String name;
private Integer age;
}
DAO Mybatis-plus
package com.jt.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jt.model.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface UserMapper extends BaseMapper<User> {
@Insert( "<script>" +
"INSERT INTO user_test (id,name,age) VALUES " +
"<foreach collection='list' item='item' index='index' separator=','> " +
"(#{item.id},#{item.name},#{item.age}) " +
"</foreach>" +
"</script>")
Integer insertBatch (@Param("list") List<User> list);
}