mybatis中的批量插入

一、mysql中的批量插入

在mysql中可以使用insert语句直接插入多条数据,多组数据之间用逗号隔开,sql基本格式如下:

insert into 表名(字段1,字段2) values(值1,值2) , (值3,值4)

xml文件中的写法为:

<insert id="batchRprp" parameterType="java.util.List">
        insert into V_TDM_RPRP_RIVAL(C_RIVAL_CODE,C_NAME,C_ALL_NAME)
        values 
        <foreach collection="list" item="r" separator=",">
            (#{r.rivalCode},#{r.name},#{r.allName})
        </foreach>
</insert>

二、oracle中批量插入

首先,oracle中不能像mysql中那种格式进行批量插入,否则会直接报语法错误,我遇到的语法错误是:java.sql.SQLException: ORA-00933: SQL 命令未正确结束

oracle中批量插入应该使用以下语法格式:

insert all
into tablename(column1,column2) values(value11,value12)
into tablename(column1,column2) values(value21,value22)
into tablename(column1,column2) values(value31,value32)
select * from dual

mybatis中的写法如下

<insert id="batchRprp" parameterType="java.util.List">
    insert all
    <foreach collection="list" item="r">
        into V_TDM_RPRP_RIVAL(C_RIVAL_CODE,C_NAME,C_ALL_NAME)
        values (#{r.rivalCode},#{r.name},#{r.allName})
    </foreach>
    select * from dual
</insert>

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值