Mybatis 批量插入多条数据,使用场景:导入多条数据
接口代码:
void batchInsertCapacity(@Param("list")List<Map<String, Object>> metadbmaplist);
SQL:
<insert id="batchInsertCapacity"> insert into index_prodcut ( ID, ORG_ID, TEXT1, TEXT2, TEXT3, PLAN_NUM, ACTUAL_NUM, RATIO, SDATE_START, SDATE, REMARKS, CUSER_ID, CDATE, INDEX_TYPE, DEL_FLAG, STATUS ) <foreach collection="list" item="item" index="index" separator="UNION ALL"> (SELECT #{item.id,jdbcType=VARCHAR}, #{item.org_id,jdbcType=VARCHAR}, #{item.text1,jdbcType=VARCHAR}, #{item.text2,jdbcType=VARCHAR}, #{item.text3,jdbcType=VARCHAR}, #{item.plan_num,jdbcType=VARCHAR}, #{item.actual_num,jdbcType=VARCHAR}, #{item.ratio,jdbcType=VARCHAR}, #{item.sdate_start}, #{item.sdate}, #{item.remarks,jdbcType=VARCHAR}, #{item.cuser_id,jdbcType=VARCHAR}, #{item.cdate}, #{item.index_type,jdbcType=VARCHAR}, '0', '0' FROM dual) </foreach> </insert>