DAO-Mapper:
int insertDeviceContext(List<FxcDeviceContext> list);
DAO-XML:
1.只是批量插入数据, 不需要id自增的情况下,前提是list里面每个字段都有值
<insert id="insertDeviceContext" parameterType="java.util.List" useGeneratedKeys="false">
insert into table(id,name)
select A.* from (
<foreach collection="list" index="index" item="duty" separator="UNION ALL">
select
#{duty.id,jdbcType=VARCHAR} ID,
#{duty.name,jdbcType=VARCHAR} NAME
from dual
</foreach>
) A
</insert>
2.批量插入且ID自增
注:先为主键创建序列,这里我已经创建好了SEQ_ID
<insert id="insertEvidences" parameterType="java.util.List" useGeneratedKeys="false">
insert into table(ID,NAME)
select SEQ_ID.nextval, name
from (
<foreach collection="list" index="index" item="duty" separator="UNION ALL">
select
#{duty.name,jdbcType=VARCHAR} NAME
from dual
</foreach>
) A
</insert>