在 MyBatis 中进行批量插入操作可以通过使用 insertList
方法或者 foreach
标签来实现。
insertList
方法:<insert id="batchInsert" parameterType="java.util.List">
insert into table_name (column1, column2, column3)
values
<foreach collection="list" item="item" separator=",">
(#{item.property1}, #{item.property2}, #{item.property3})
</foreach>
</insert>
在 Java 代码中调用该方法时,传入一个 List 包含多个对象,每个对象包含需要插入的数据。
foreach
标签:<insert id="batchInsert" parameterType="java.util.List">
insert into table_name (column1, column2, column3)
values
<foreach collection="list" item="item" separator=",">
(#{item.property1}, #{item.property2}, #{item.property3})
</foreach>
</insert>
在 Java 代码中传入一个 List,然后在 SQL 中使用 foreach
标签遍历 List 中的元素进行插入。
需要注意的是,批量插入操作在 MyBatis 中可能会有一定的性能损耗,因为每次插入都会生成一个 SQL 语句执行。如果数据量较大,建议通过批量插入方式来提高性能。