mybatis批量插入数据
背景:再一次开发中提供一个RPC接口批量保存订单,但是在调用的过程中发现经常超时。原因是每次for循环调用插入数据的方法,导致很多次建立连接和断开连接,系统开销比较大。后来优化就从mybatis批量插入数据进行修改。传递一个集合到mybatis中然后在映射文件中进行插入,减少连接的次数。
1 int batchInsert( List<OrderMainEntity> orderMainList);
1 <insert id="batchInsert" parameterType="java.util.List" > 2 insert into oc_order_main 3 (ID) 4 VALUES 5 <foreach item="orderMain" index="index" collection="list" separator=","> 6 ( 7 #{orderMain.id,jdbcType=BIGINT} 8 ) 9 </foreach> 10 </insert>