欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mybatis動態(tài)拼接sql提高插入速度實例

 更新時間:2023年09月09日 08:31:24   作者:沐雨金鱗  
這篇文章主要介紹了Mybatis動態(tài)拼接sql提高插入速度實例,當數(shù)據(jù)量少的時候,沒問題,有效時間內(nèi)可能完成插入,但是當數(shù)據(jù)量達到一定程度的時候,每次都一個sql插入超時,所以采用了拼接sql的方式加快速度,需要的朋友可以參考下

Mybatis動態(tài)拼接sql提高插入速度

實驗室的項目,Excel文件的數(shù)據(jù)入庫,原始錄入語句如下:

void insertCaculatePlanData(@Param("excelName") String excelName,
                         @Param("CaculatePlanColumnName") List<String>CaculatePlanColumnName,
                         @Param("InsertIntoCaculatePlanData")List<Object> InsertIntoCaculatePlanData);
  <insert id="insertCaculatePlanData">
        insert into ${excelName} (
        <foreach item="item" collection="CaculatePlanColumnName" separator=",">
            ${item}
        </foreach>
        ) values (
        <foreach item="it" collection="InsertIntoCaculatePlanData"  separator=",">
            #{it}
        </foreach>
        )
  </insert>

其中,表名是參數(shù)、列名是參數(shù)、列值是參數(shù),每來一行數(shù)據(jù),就執(zhí)行插入一行的數(shù)據(jù)。

當數(shù)據(jù)量少的時候,沒問題,有效時間內(nèi)可能完成插入,但是當數(shù)據(jù)量達到一定程度的時候,每次都一個sql插入,超時。

所以采用了拼接sql的方式加快速度:

void insertCaculatePlanDataBetter(@Param("excelName") String excelName,
                                @Param("CaculatePlanColumnName") List<String>CaculatePlanColumnName,
                                @Param("InsertIntoCaculatePlanData")List<List<Object>> InsertIntoCaculatePlanData);
    <!--優(yōu)化的拼接插入語句-->
    <insert id="insertCaculatePlanDataBetter">
        INSERT INTO ${excelName}(
        <foreach item="item" collection="CaculatePlanColumnName" separator=",">
            ${item}
        </foreach>
        )
        VALUES
        <foreach item="o" collection="InsertIntoCaculatePlanData" separator=",">(
            <foreach item="itm" collection="o" separator=",">
                #{itm}
            </foreach>
            )
        </foreach>
    </insert>

到此這篇關(guān)于Mybatis動態(tài)拼接sql提高插入速度實例的文章就介紹到這了,更多相關(guān)Mybatis動態(tài)sql內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java遍歷Map的方法匯總

    Java遍歷Map的方法匯總

    大家平時在使用Java開發(fā)時,經(jīng)常會遇到遍歷Map對象的問題,本文就給大家介紹幾種Java遍歷Map對象的方法,并簡單分析一下每種方法的效率,需要的朋友可以參考下
    2023-12-12
  • 圖解Java排序算法之希爾排序

    圖解Java排序算法之希爾排序

    這篇文章主要為大家詳細介紹了Java排序算法之希爾排序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Java枚舉實現(xiàn)自增賦值的方法

    Java枚舉實現(xiàn)自增賦值的方法

    在Java編程里,枚舉(enum)其實是一種特別的類型,用來表示一組常量,當我們開發(fā)程序的時候,常常需要給這些枚舉加點其他功能,比如自增賦值的方法,這樣就能更方便地管理和使用啦,這篇文章和大家聊聊,怎么在Java中實現(xiàn)枚舉的自增賦值
    2025-04-04
  • Java與Mysql鎖相關(guān)知識總結(jié)

    Java與Mysql鎖相關(guān)知識總結(jié)

    這篇文章主要介紹了Java與Mysql鎖相關(guān)知識總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • java導出pdf文件的詳細實現(xiàn)方法

    java導出pdf文件的詳細實現(xiàn)方法

    這篇文章主要介紹了java導出pdf文件的詳細實現(xiàn)方法,包括制作模板、獲取中文字體文件、實現(xiàn)后端服務(wù)以及前端發(fā)起請求并生成下載鏈接,需要的朋友可以參考下
    2025-03-03
  • java如何自定義注解

    java如何自定義注解

    這篇文章主要介紹了java如何自定義注解問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • SpringBoot實現(xiàn)多端口監(jiān)聽的代碼示例

    SpringBoot實現(xiàn)多端口監(jiān)聽的代碼示例

    當你需要在同一個Spring Boot應(yīng)用中,通過不同的端口來提供不同的服務(wù)或功能時,就需要實現(xiàn)多端口監(jiān)聽,所以本文給大家介紹了SpringBoot實現(xiàn)多端口監(jiān)聽的方法示例,并有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2024-09-09
  • java synchronized的用法及原理詳解

    java synchronized的用法及原理詳解

    如果要保證并發(fā)情況下多線程共享數(shù)據(jù)的訪問安全,操作的原子性,就可以使用synchronized關(guān)鍵字。這篇文章主要介紹了java synchronized的用法及原理,需要的朋友可以借鑒一下
    2021-08-08
  • Java的CopyOnWriteArrayList操作詳解

    Java的CopyOnWriteArrayList操作詳解

    這篇文章主要介紹了Java的CopyOnWriteArrayList操作詳解,  CopyOnWriteArrayList是ArrayList 的一個線程安全的變體,其中所有可變操作(add、set等等)都是通過對底層數(shù)組進行一次新的復制來實現(xiàn)的,需要的朋友可以參考下
    2023-12-12
  • Swagger實現(xiàn)動態(tài)條件注入與全局攔截功能詳細流程

    Swagger實現(xiàn)動態(tài)條件注入與全局攔截功能詳細流程

    這篇文章主要介紹了Swagger實現(xiàn)動態(tài)條件注入與全局攔截功能詳細流程,Swagger 可以提供 API 操作的測試文檔,本文記錄 Swagger 使用過程中遇到的小問題
    2023-01-01

最新評論