MyBatisでの一括挿入操作方法は?
MyBatisでのバッチ挿入操作は、insertListメソッドまたは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のコードでこのメソッドを呼び出すときは、複数のオブジェクトを含むリストを渡し、それぞれのオブジェクトに挿入するデータを含めます。
- 各
<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文が生成されて実行されるたびに性能に損失が生じる可能性があるため、注意が必要です。データ量が多い場合は、一括挿入方法を使用して性能を向上させることをお勧めします。