mybatisの複数レコードの一括挿入文の書き方はどうするのですか?
MyBatisには、タグがあり、複数の挿入文を処理するために使用できます。以下に例を示します:
<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であることを指定します。渡された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);
注意:データベースドライバーがバルク操作をサポートしていることを確認してから、バルク挿入文を使用してください。