在Oracle的版本中,有几点需要注意的:
1.SQL中没有VALUES;
2.<foreach>标签中的(selece ..... from dual);
3.<foreach>标签中的separator的属性为"UNION ALL",将查询合并结果集。
以上所述是小编给大家介绍的Oracle+Mybatis的foreach insert功能批量插入报错的快速解决办法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。
<insert id="insertexcel" parameterType="java.util.List">
insert into GYJC_COMPANY_REGISTER_INFO (id,name,address,establish_date,approval_date,company_kind,telephone,captial,person,big_industry,small_industry,business)
SELECT S_GYJC_COMPANY_REGISTER_INFO.nextval ID,T.* from (
<foreach collection="list" item="bean" index="index" separator="UNION ALL">
select
#{bean.name,jdbcType=VARCHAR} name,
#{bean.address,jdbcType=VARCHAR} address,
#{bean.establish_date,jdbcType=VARCHAR} establish_date,
#{bean.approval_date,jdbcType=VARCHAR} approval_date,
#{bean.company_kind,jdbcType=VARCHAR} company_kind,
#{bean.telephone,jdbcType=VARCHAR} telephone,
#{bean.captial,jdbcType=VARCHAR} captial,
#{bean.person,jdbcType=VARCHAR} person,
#{bean.big_industry,jdbcType=VARCHAR} big_industry,
#{bean.small_industry,jdbcType=VARCHAR} small_industry,
#{bean.business,jdbcType=VARCHAR} business
from dual
</foreach>
) T
</insert>
mybatis批量插入(oracle数据库)
最新推荐文章于 2024-07-12 15:04:40 发布