Mybatis批量插入数据到Oracel

编程入门 行业动态 更新时间:2024-10-27 03:35:50

Mybatis<a href=https://www.elefans.com/category/jswz/34/1770428.html style=批量插入数据到Oracel"/>

Mybatis批量插入数据到Oracel

最近项目中出现了一个功能存在性能问题,经过研究发现主要是出现在数据插入的时候,当时用的单条提交,发现性能极其差,因为项目中用的mybatis,所以考虑用批量提交的方式。

  <!-- 批量提交 --><insert id="batchInsertWithoutSeq" parameterType="java.util.List">insert into ACC_AGGENTRY (SEQ, AGGENTRY_SEQ, THIACCOUNTSUM_SEQ, BUSDATA_FLAG, ENTRY_TYPE, FUND_PROPERTY, FIRSTACCOUNT_NAME, SECACCOUNT_NAME, THIACCOUNT_NAME, DEBIT_CREDIT, ORIGIN_CURR, ORIGIN_AMT, DOMESTIC_CURR, DOMESTIC_AMT, COST_CENTER, OTHER_NAME, DOC_TYPE, TRADE_DATE, TALLY_DATE, AGGENTRY_DATETIME, PRODUCT_FLAG, OFFLINE_DOCTYPE, DOC_NO, AIRPRO_DOM, ACCOUNT_MONTH, ITFC_DATETIME, ITFC_NAME, ACCOUNT_PROPERTY, BUSINESSTYPE,FIRST_ACCOUNT_CODE) <foreach collection="list" item="itm" index="index" separator="UNION ALL">(select #{itm.seq,jdbcType=DECIMAL},#{itm.aggentrySeq,jdbcType=DECIMAL}, #{itm.thiaccountsumSeq,jdbcType=DECIMAL}, #{itm.busdataFlag,jdbcType=VARCHAR}, #{itm.entryType,jdbcType=VARCHAR}, #{itm.fundProperty,jdbcType=VARCHAR}, #{itm.firstaccountName,jdbcType=VARCHAR}, #{itm.secaccountName,jdbcType=VARCHAR}, #{itm.thiaccountName,jdbcType=VARCHAR}, #{itm.debitCredit,jdbcType=VARCHAR}, #{itm.originCurr,jdbcType=VARCHAR}, #{itm.originAmt,jdbcType=DECIMAL}, #{itm.domesticCurr,jdbcType=VARCHAR}, #{itm.domesticAmt,jdbcType=DECIMAL}, #{itm.costCenter,jdbcType=VARCHAR}, #{itm.otherName,jdbcType=VARCHAR}, #{itm.docType,jdbcType=VARCHAR}, #{itm.tradeDate,jdbcType=DECIMAL}, #{itm.tallyDate,jdbcType=DECIMAL}, #{itm.aggentryDatetime,jdbcType=DECIMAL}, #{itm.productFlag,jdbcType=VARCHAR}, #{itm.offlineDoctype,jdbcType=VARCHAR}, #{itm.docNo,jdbcType=VARCHAR}, #{itm.airproDom,jdbcType=VARCHAR}, #{itm.accountMonth,jdbcType=DECIMAL}, #{itm.itfcDatetime,jdbcType=DECIMAL}, #{itm.itfcName,jdbcType=VARCHAR}, #{itm.accountProperty,jdbcType=VARCHAR}, #{itm.businesstype,jdbcType=VARCHAR}, #{itm.firstAccountCode,jdbcType=VARCHAR}from dual)</foreach></insert>

   批量提交的核心功能

  

   遇到的问题:如果一次提交的数据条数过大,比如3000条,就会报异常:无效主机/绑定变量 的异常,很模糊的一个错误,后来只能改成多次分批提交,具体分多少次一次多少条,当时测试1000条一次是没有问题。

 

希望遇到相同问题的人给予解释,谢谢

 

 

更多推荐

Mybatis批量插入数据到Oracel

本文发布于:2023-07-03 09:20:35,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1004362.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:批量   数据   Mybatis   Oracel

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!