日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ibatis 批量插入

發布時間:2025/5/22 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ibatis 批量插入 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ibatis 批量插入

CreationTime--2018年7月2日10點21分

Author:Marydon

1.說明

  基于oracle的sql語句

2.主鍵id有默認值,比如:sys_guid()

  id有默認值的情況下,插入的時候,不再聲明該字段,當插入一條數據的時候,oracle會自動生成id。

<insert id="insertCONSULT_SCHEDULE_batch" parameterClass="java.util.List">INSERT ALL<iterate conjunction=" ">INTO CONSULT_SCHEDULE(ORG_CODE,DEPENT_ID,DEPENT_NAME,DOCTOR_ID,DOCTOR_NAME,DOCTOR_PHONE,SCHEDULE_DATE,WEEK_TXT,WB_TYPE,CLOSE_TZ,REPLACE_TZ,REMARK)VALUES <![CDATA[ (#list[].ORG_CODE:VARCHAR#, #list[].DEPENT_ID:VARCHAR#, #list[].DEPENT_NAME:VARCHAR#, #list[].DOCTOR_ID:VARCHAR#, #list[].DOCTOR_NAME:VARCHAR#, #list[].DOCTOR_PHONE:VARCHAR#, TO_DATE(#list[].SCHEDULE_DATE#,'yyyy-MM-dd'),#list[].WEEK_TXT:VARCHAR#, #list[].WB_TYPE:VARCHAR#, #list[].CLOSE_TZ:VARCHAR#, #list[].REPLACE_TZ:VARCHAR#, #list[].REMARK:VARCHAR#) ]]></iterate>SELECT 1 FROM DUAL </insert>

  字符串需要聲明jdbc類型為VARCHAR,可以做數據類型轉換?!?

3.主鍵id使用序列

  id使用序列,需要先查出來序列的值作為id,手動插入到數據庫。

<!-- 圖像表 批量插入sql --> <insert id="insertIMAGE_INFOBatch" parameterClass="java.util.List">INSERT INTO IMAGE_INFO(ID,FORM_LIST_ID,IMAGE_NAME)SELECT SEQ_IMAGE_INFO.NEXTVAL,FORM_LIST_ID,IMAGE_NAME FROM(<iterate conjunction="UNION ALL" prepend=""><![CDATA[ SELECT #list[].FORM_LIST_ID:DECIMAL# AS FORM_LIST_ID, #list[].IMAGE_NAME:VARCHAR# AS IMAGE_NAME FROM DUAL ]]></iterate>) </insert>

  由于oracle的序列的數據類型是number,因此其對應的jdbc類型為DECIMAL。

4. 注意

  iBATIS使用這種批量插入操作,局限性在于:

  每次插入的總數據不能超過1000(插入字段數*插入行數<=1000),使用大集合拆分成小集合的方式來限制每次插入數量不超過1000即可?!     ?/span>

?

?相關推薦:

  • java List集合
  • Oracle 插入表數據的幾種方式

?

轉載于:https://www.cnblogs.com/Marydon20170307/p/9252768.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的ibatis 批量插入的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。