使用Mybatis批量插入Oracle数据库
dao类定义:
public interface AfrsParamsCatalogEntityDao {
/**
*
* @param catalog 目录编号
* @param list 指标编号
* @return
*/
void batchSave(String catalog, Set<String> list);
}
mapper.xml定义
<insert id="batchSave" >
insert all
<foreach collection="paramSet" item="paramno" index="index">
into AFRS_PARAMS_CATALOG(paramno, catalogNo)
values (#{paramno}, #{catalogNo})
</foreach>
select 1 from dual
</insert>
补充:上面写法插入性能较差,以下方式目前测试千条记录插入毫秒级
<insert id="batchSave" >
insert into AFRS_PARAMS_CATALOG(paramno, catalogNo)
<foreach collection="paramSet" item="paramno" index="index" separator="union all">
select #{paramno}, #{catalogNo} from dual
</foreach>
</insert>