使用mybatis一次性添加多条数据 在oracle 数据库上

1、sql 语句 

#sql  语句 
insert into STD_XXXX (表名)
(
    ID,
    NAME,
    CLASSNAME
)
select 
STD_XXX_SEQUENCE.Nextval,(自增序列名称)
XXX.* 
from (
    select '1','3' from dual 
    union
    select '2','3' from dual

)XXX

2、mybatis 

#多条插入
<insert id ="XXXX1" parameterType="java .util.list" useGeneratedKeys="false">
insert into STD_XXXX (表名)
(
    ID,
    NAME,
    CLASSNAME
)
select 
STD_XXX_SEQUENCE.Nextval,(自增序列名称)
XXX.* 
from (
<foreach collection="list" item="item" separator="union">
     select  
        #{item.id,jdbcType=VARCHAR},
        #{item.classname,jdbcType=VARCHAR},
    from dual 
</foreach>
)XXX
</insert>

3、可能出现的问题

 ora- 00918 出现未明确定义的列:  如果出现相同的列时添加时 一定要修改下列的别名

posted @ 2019-03-01 10:38  yinder  阅读(989)  评论(0编辑  收藏  举报