在MyBatis中批量插入多条数据可以使用<foreach>
标签来实现。下面是使用<foreach>
标签批量插入多条数据的示例:
<insert id="batchInsert" parameterType="java.util.List">
INSERT INTO table_name (column1, column2, column3)
VALUES
<foreach collection="list" item="item" separator="," >
(#{item.column1}, #{item.column2}, #{item.column3})
</foreach>
</insert>
在上面的示例中,<insert>
标签中定义了一个批量插入的SQL语句,其中使用了<foreach>
标签来循环遍历传入的List参数,并将每个元素插入到数据库中。
使用时可以在Mapper接口中定义对应的方法,并传入一个包含多条数据的List对象作为参数,如下所示:
public interface MyMapper {
void batchInsert(List<MyEntity> list);
}
然后在调用该方法时传入多条数据的List对象即可实现批量插入多条数据:
List<MyEntity> list = new ArrayList<>();
list.add(new MyEntity("value1", "value2", "value3"));
list.add(new MyEntity("value4", "value5", "value6"));
myMapper.batchInsert(list);
这样就可以实现在MyBatis中批量插入多条数据。