在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中批量插入多條數據。