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

Mybatis動(dòng)態(tài)拼接sql提高插入速度實(shí)例

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

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

實(shí)驗(yàn)室的項(xiàng)目,Excel文件的數(shù)據(jù)入庫(kù),原始錄入語(yǔ)句如下:

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ù),每來(lái)一行數(shù)據(jù),就執(zhí)行插入一行的數(shù)據(jù)。

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

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

void insertCaculatePlanDataBetter(@Param("excelName") String excelName,
                                @Param("CaculatePlanColumnName") List<String>CaculatePlanColumnName,
                                @Param("InsertIntoCaculatePlanData")List<List<Object>> InsertIntoCaculatePlanData);
    <!--優(yōu)化的拼接插入語(yǔ)句-->
    <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動(dòng)態(tài)拼接sql提高插入速度實(shí)例的文章就介紹到這了,更多相關(guān)Mybatis動(dòng)態(tài)sql內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java遍歷Map的方法匯總

    Java遍歷Map的方法匯總

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

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

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

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

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

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

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

    java導(dǎo)出pdf文件的詳細(xì)實(shí)現(xiàn)方法

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

    java如何自定義注解

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

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

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

    java synchronized的用法及原理詳解

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

    Java的CopyOnWriteArrayList操作詳解

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

    Swagger實(shí)現(xiàn)動(dòng)態(tài)條件注入與全局?jǐn)r截功能詳細(xì)流程

    這篇文章主要介紹了Swagger實(shí)現(xiàn)動(dòng)態(tài)條件注入與全局?jǐn)r截功能詳細(xì)流程,Swagger 可以提供 API 操作的測(cè)試文檔,本文記錄 Swagger 使用過(guò)程中遇到的小問(wèn)題
    2023-01-01

最新評(píng)論