MyBatis提供了<foreach>
標簽來處理批量插入語句。下面是一個示例:
<insert id="insertBatch" parameterType="java.util.List">
INSERT INTO table_name (column1, column2)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.column1}, #{item.column2})
</foreach>
</insert>
這個示例中,insertBatch
是SQL映射文件中的一個insert語句的id。parameterType
指定了傳入的參數類型為List
。使用<foreach>
標簽遍歷傳入的List,并將每個元素的屬性值插入到對應的列中。
例如,假設有以下Java對象模型:
public class MyObject {
private int column1;
private String column2;
// getters and setters
}
在Java代碼中,你可以調用上述的insert語句:
List<MyObject> list = new ArrayList<>();
// 添加MyObject對象到list中
mybatisSession.insert("insertBatch", list);
注意:在使用批量插入語句時,請確保數據庫驅動程序支持批量操作。