Mybatis中解决Oracle11g 不能在同一行执行多条命令问题(报错ora-00911)
同时解决不能同时插入多条数据的问题
特殊处理
<insert id="insertList" parameterType="java.util.List">
<foreach collection="list" item="item" index="index" separator=";" open="begin" close=";end;">
insert into eac_user_agency_info_relation (
<!--这是定义好的sql字段,不用管-->
<include refid="allColumn"/>
) values
(
#{item.agencyCode,jdbcType=VARCHAR}, #{item.agencyId,jdbcType=VARCHAR}, #{item.agencyName,jdbcType=VARCHAR},
#{item.bizKey,jdbcType=VARCHAR},
#{item.createTime,jdbcType=VARCHAR}, #{item.endDate,jdbcType=VARCHAR}, #{item.fiscalYear,jdbcType=VARCHAR},
#{item.isDeleted,jdbcType=INTEGER},
#{item.isEnabled,jdbcType=INTEGER}, #{item.isLeaf,jdbcType=INTEGER}, #{item.levelNo,jdbcType=INTEGER},
#{item.location,jdbcType=VARCHAR},
#{item.mofDivCode,jdbcType=VARCHAR}, #{item.parentId,jdbcType=VARCHAR}, #{item.relationId,jdbcType=VARCHAR},
#{item.startDate,jdbcType=VARCHAR},
#{item.sysCode,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=VARCHAR}, #{item.userCode,jdbcType=VARCHAR}
)
</foreach>
</insert>
用,begin …;end;命令包裹就可以了。
实际执行的sql
begin insert into eac_user_agency_info_relation ( agency_code, agency_id, ... ) values ( ...) ; insert into eac_user_agency_info_relation ( agency_code, agency_id, ... ) values ( ...) ;end;