1. @Select("<script>" +
  2. "DECLARE @edi_Invoice_Details edi_Invoice_Details;" +
  3. "DECLARE @edi_Invoice_OrderItem edi_Invoice_OrderItem;" +
  4.  
  5. "INSERT INTO @edi_Invoice_Details (" +
  6. "oldso,so,po,invoiceTaxNo,invoiceType,invoiceTitle,\n" +
  7. "invoiceAddress,invoiceState,invoiceTaxRate,invoiceContent,\n" +
  8. "invoiceRatePrice,invoiceNoTaxPrice,invoiceId,invoiceDate,invoiceTaxPrice,invoiceNO,invoiceCode" +
  9. " ) " +
  10. "VALUES " +
  11. "<foreach collection=\"ediInvoiceDetails\" item=\"ediInvoiceDetail\" index=\"index\" separator=\",\" close=\";\">" +
  12. "( " +
  13. "#{ediInvoiceDetail.oldso},#{ediInvoiceDetail.so},#{ediInvoiceDetail.po},#{ediInvoiceDetail.invoiceTaxNo},#{ediInvoiceDetail.invoiceType},#{ediInvoiceDetail.invoiceTitle}," +
  14. "#{ediInvoiceDetail.invoiceAddress},#{ediInvoiceDetail.invoiceState},#{ediInvoiceDetail.invoiceTaxRate},#{ediInvoiceDetail.invoiceContent},#{ediInvoiceDetail.invoiceRatePrice}," +
  15. "#{ediInvoiceDetail.invoiceNoTaxPrice},#{ediInvoiceDetail.invoiceId},CONVERT(DATETIME,#{ediInvoiceDetail.invoiceDate},105),#{ediInvoiceDetail.invoiceTaxPrice},"+
  16. "#{ediInvoiceDetail.invoiceNO},#{ediInvoiceDetail.invoiceCode}"+
  17. " )" +
  18. "</foreach> " +
  19. "<foreach collection=\"ediInvoiceDetails\" item=\"ediInvoiceDetail\" index=\"index\" open=\"begin\" close=\";end;\" separator=\";\">" +
  20. "INSERT INTO @edi_Invoice_OrderItem ( " +
  21. "invoiceDetailsId, so, bomCode, agreementPrice,productAmount, productName " +
  22. ") " +
  23. "VALUES " +
  24.  
  25. "<foreach collection=\"ediInvoiceDetail.sodetails\" item=\"sodetail\" index=\"index\" separator=\",\">( " +
  26. "#{sodetail.invoiceDetailsId},#{sodetail.so},#{sodetail.bomCode},#{sodetail.agreementPrice},#{sodetail.productAmount},#{sodetail.productName} "+
  27. " )</foreach></foreach> " +
  28.  
  29. "EXEC up_EDI_Sync_SaveEDIInvoiceDetails @edi_Invoice_Details,@edi_Invoice_OrderItem"+
  30. "</script>")
  31. @Options(statementType = StatementType.CALLABLE)
  32. void saveEdiInvoiceDetails(@Param("ediInvoiceDetails") List<EDIInvoiceDetails> ediInvoiceDetails);

mybatis 注解写法 多层嵌套foreach,调用存储过程,批量插入数据的更多相关文章

  1. PG数据库创建并执行存储过程批量插入数据

    记录一下PG数据库创建并执行存储过程批量插入数据的SQL: create or replace function addId() returns boolean AS $BODY$ declare i ...

  2. sqlserver存储过程批量插入数据

    在系统中经常会遇到向数据库中批量插入数据情况,存储过程中没有数组,只有通过字符串分割循环插入,下面是一个本人研究的一个例子: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 c ...

  3. mysql应用存储过程批量插入数据

    --批量插入数据的sql语句 delimiter $$ DROP PROCEDURE IF EXISTS `test.sp_insert_batch` $$ CREATE DEFINER =`root ...

  4. Oracle 存储过程批量插入数据

    oracle 存储过程批量插入大量数据 declare numCount number; userName varchar2(512); email varchar2(512); markCommen ...

  5. mysql利用存储过程批量插入数据

    最近需要测试一下mysql单表数据达到1000W条以上时增删改查的性能.由于没有现成的数据,因此自己构造,本文只是实例,以及简单的介绍. 首先当然是建表: [sql]view plaincopy CR ...

  6. 使用Oracle的存储过程批量插入数据

    原文地址:http://www.cnblogs.com/liaoyu/p/oracle-procedure-batch-insert.html 作者:L君还在说之乎者也 最近在工作中,需要使用生成一些 ...

  7. mysql存储过程批量插入数据

    DROP TABLE IF EXISTS TeachersInfo; CREATE TABLE TeachersInfo ( id INT NOT NULL AUTO_INCREMENT, teach ...

  8. postgres 使用存储过程批量插入数据

    參考资料(pl/pgsql 官方文档): http://www.postgresql.org/docs/9.3/static/plpgsql.html create or replace functi ...

  9. mybatis foreach批量插入数据:Oracle与MySQL区别

    mybatis foreach批量插入数据:Oracle与MySQL不同点: 主要不同点在于foreach标签内separator属性的设置问题: separator设置为","分 ...

随机推荐

  1. MFC对话框使用CPrintDialog实现打印,指定打印机、后台打印

    推荐下 不错. 对话框打印,网上一搜一大堆,基本分2类: A类: CPrintDialog.DoModal,然后在模态对话框里选打印机.打印配置: B类:GetPrinterDeviceDefault ...

  2. 集训第四周(高效算法设计)N题 (二分查找优化题)

    原题:poj3061 题意:给你一个数s,再给出一个数组,要求你从中选出m个连续的数,m越小越好,且这m个数之和不小于s 这是一个二分查找优化题,那么区间是什么呢?当然是从1到数组长度了.比如数组长度 ...

  3. 集训第四周(高效算法设计)I题 (贪心)

    Description Shaass has n books. He wants to make a bookshelf for all his books. He wants the bookshe ...

  4. 启的服务有时候突然报错:org.xml.sax.SAXParseException: schema_reference.4

    记录一下,原文地址:http://blog.csdn.net/bluishglc/article/details/7596118

  5. 上传文件表单file,限制上传文件类型的方法--参数accept

    我们使用<input type="file" />来上传文件,但是当你只想要上传某种格式的文件,比如说(jpg)文件时.可以通过accept来限制. <form& ...

  6. web文件管理系统和日志实时监控工具

    https://blog.csdn.net/xuesong123/article/details/52752384

  7. 牛客网小白月赛1 B,I

    #include <stdio.h> #include <math.h> #include <string.h> #include <stdlib.h> ...

  8. 斯特林(Stirling)公式 求大数阶乘的位数

    我们知道整数n的位数的计算方法为:log10(n)+1n!=10^m故n!的位数为 m = log10(n!)+1 lgN!=lg1+lg2+lg3+lg4+lg5+................. ...

  9. poj——3687 Labeling Balls

    Labeling Balls Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14835   Accepted: 4346 D ...

  10. 2019.4.1今日一练String类中的方法

    package com.pjc.objects;                        replaceAll()方法的理解引出正则表达式import java.util.regex.Patte ...