マイバティスでデータを一括して追加する方法は何ですか?
MyBatisには、複数のデータを一括追加する方法が提供されており、foreachタグを使用することで実現できます。以下はその例です。
- Mapper XML ファイルに、以下のようなバルクデータ挿入のSQL文を記述します。
<insert id="batchInsert" parameterType="java.util.List">
insert into user (name, age) values
<foreach collection="list" item="item" separator=",">
(#{item.name}, #{item.age})
</foreach>
</insert>
- Mapperインターフェースで、データを一括追加するためのメソッドを定義します。
void batchInsert(List<User> userList);
- 新しいデータリストを渡して、そのメソッドをコードで呼び出す。
List<User> userList = new ArrayList<User>();
userList.add(new User("John", 25));
userList.add(new User("Jane", 28));
userMapper.batchInsert(userList);
上記の例では、Userは名前と年齢のプロパティを含むJavaBeanです。userListは追加するデータのリストであり、batchInsertメソッドを呼び出してデータを一括してデータベースに挿入します。Mapper XMLファイルでは、foreachタグを使用して各データ項目をSQL文に連結します。