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);

注意:データベースドライバーがバルク操作をサポートしていることを確認してから、バルク挿入文を使用してください。

bannerAds