点评 ibatis+oracle 批量插入的三种方法.

本文介绍了在使用iBatis与Oracle数据库进行批量插入时遇到的问题及三种解决方案。第一种方式由于Oracle不支持一个insert多个values导致错误。第二种方式虽然Oracle支持,但受限于列数和行数的乘积不能超过1000。第三种方式通过创建查询虚拟表避免了上述限制,但需要注意SQL语句的长度不超过Oracle的最大长度(64KB)。
摘要由CSDN通过智能技术生成
第一种
< insert  id =" insert_table "  parameterClass ="java.util.List" >   
    <![CDATA[  
        insert into sj_test( col1 , col2 , col3 ) values  
    ]]>    
    < iterate  conjunction ="," >   
        <![CDATA[  
            (#test[]. col1 #, # test []. col2 #, # test []. col3 #)  
        ]]>   
    </ iterate >   
</ insert > 


这种方式是网上最常见的,但是也是问题最大的, 今天把我彻底纠结了,弄了几个小时,最后发现, Oracle不支持 一个insert多个values的方式, 不知道网友们被坑到了没,好像MySQL支持这种 方式          所报的错误:ORA-00933:SQL命令未正确结束




第二种

<insert id="insert_table " parameterClass="java.util.List">

 insert all

 <iterate conjunction="">

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值