ibatis对oracle数据库的批量更新和批量插入的操作

今天有个批量的东西很是耽误我的时间,那就是ibatis对Oracle的批量操作,虽然觉得这种批量的没什么,以前也有做过,但是对于MySQL和oracle是不一样的,那么接下来我们就来介绍一下,oracle的批量操作,至于MySQL百度上面有的是。



1.批量插入:

<insert id="savePpmxNEW" parameterClass="Java.util.List">
      <![CDATA[
          INSERT ALL
      ]]>
  <iterate conjunction=" ">
          into FPMX(ID,FPLXDM,FPDM,FPHM)
    values(#csList[].ID#,#csList[].FPLXDM#,#csList[].FPDM#,#list[].FPHM)
  </iterate>
  <![CDATA[
          select * from dual
      ]]>
 </insert>

这种写法是Oracle的版本。主要是对应了Oracle批量插入数据库的操作,其中<iterate>为循环迭代,对传来的List数据进行迭代,有人说csList与Dao传来的LIst数据名称一致,但我发现,任意写好像也可以,不过大家也可以注意下这一点,避免出错。

2.批量更新:

<update id="updatePpmx" parameterClass="java.util.List">
   begin
  <iterate conjunction=";">
      update PJ_ZZSP_FPMX set
   FPLXDM=#list[].FPLXDM#,
   FPDM=#list[].FPDM#,
   FPHM=#list[].FPHM#
   where ID=#list[].ID#
  </iterate>
   ;end; 
 </update>

这种同样也是Oracle版本,这种写法也就不多解释了,update语句之间用“;”隔开,首尾加上begin和end


展开阅读全文

没有更多推荐了,返回首页