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。