MyBatisで、MUTIPLE INSERT を実行するのは、foreach を使います。
例)
//テーブルのデータ定義クラス→Item
public class Item implements Serializable{
public String item;
public int price;
public Item(){
}
}
// mybatis の SQLセッション、インジェクトされるものとします。
@Inject SqlSession session ;
Map<String, Object> map = new HashMap<String, Object>();
List<Item> list = new ArrayList<Item>();
// リストに、1レコード分のItem を格納
list.add(item);
:
:
// Map に、foreache で参照する Key で、リストを格納
map.put("itemList", list);
session.insert( "org.Mapper.addList", map );
で実行
SQLMapは、、、
<insert id="addList" parameterType="map">
INSERT INTO items ( item, price ) VALUES
<foreach collection="itemList" item="e" separator=",">
( #{e.item}, #{e.price} )
</foreach>
</insert>