国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot+MyBatis批量插入數(shù)據(jù)的三種方式

這篇具有很好參考價(jià)值的文章主要介紹了SpringBoot+MyBatis批量插入數(shù)據(jù)的三種方式。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

最近導(dǎo)入表格數(shù)據(jù)時(shí)需要同時(shí)插入修改大量數(shù)據(jù),研究了一下有三種實(shí)現(xiàn)方式

1、用for循環(huán)調(diào)用sql插入數(shù)據(jù)

public void insert(List<HzbsErpBom> bomList){
    for(HzbsErpBom bom : bomList) {
		bomService.insertHzbsErpBom(bom);
	}
}

這種方式插入大量數(shù)據(jù)時(shí),效率非常底下,不推薦

2、利用mybatis的foreach來實(shí)現(xiàn)循環(huán)插入

public void insert(List<HzbsErpBom> bomList){
    bomService.insertHzbsErpBomList(bomList);
}
<insert id="insertHzbsErpBomList" parameterType="List">
    insert into hzbs_erp_bom (id,create_user,create_time)
		<foreach collection="list" open="values" item="item" separator=",">
			(
			#{item.id},
			#{item.createUser},
            #{item.createTime}
			)
		</foreach>
</insert>

這種方式插入大量數(shù)據(jù)時(shí),好處是不用頻繁訪問數(shù)據(jù)庫,一條sql搞定,效率比較高,缺點(diǎn)是當(dāng)數(shù)據(jù)量太大時(shí),會(huì)出現(xiàn)拼接的sql語句超長(zhǎng)而執(zhí)行失敗,所以當(dāng)數(shù)據(jù)量太大時(shí),也不推薦

3、利用批處理的方式,設(shè)置手動(dòng)提交,利用for循環(huán)生成sql,生成完畢后,一次性提交sql

    public void insert(List<HzbsErpBom> bomList){
		//設(shè)置批量手動(dòng)提交
	    SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
	    HzbsErpBomMapper hzbsErpBomMapper = sqlSession.getMapper(HzbsErpBomMapper.class);
	    bomList.stream().forEach(bom -> hzbsErpBomMapper.insertHzbsErpBom(bom));
	    //提交數(shù)據(jù)
	    sqlSession.commit();
	    sqlSession.close();
	}

這種方式可以說是集第一種和第二種方式的優(yōu)點(diǎn)于一身,既可以提高運(yùn)行效率,又可以保證大數(shù)據(jù)量時(shí)執(zhí)行成功,大數(shù)據(jù)量時(shí)推薦使用這種方式。

好了,我知道的就這三種方式了,如果大家知道有更好的方式,歡迎評(píng)論區(qū)討論。如果本文章對(duì)大家有幫助,希望大家點(diǎn)贊收藏支持一下!文章來源地址http://www.zghlxwxcb.cn/news/detail-561750.html

到了這里,關(guān)于SpringBoot+MyBatis批量插入數(shù)據(jù)的三種方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Mybatis批量插入方式有哪些

    MyBatis批量插入有多種寫法,最后博主總結(jié)一些常見的批量插入寫法供大家參考 使用XML配置文件進(jìn)行批量插入:在XML映射文件中使用 insert 標(biāo)簽,并通過 foreach 標(biāo)簽迭代批量數(shù)據(jù),然后在SQL語句中使用 VALUES 。 使用Java注解進(jìn)行批量插入:在實(shí)體類上使用 @Insert 注解,并

    2024年02月11日
    瀏覽(20)
  • Java8 實(shí)現(xiàn)批量插入和更新,SpringBoot實(shí)現(xiàn)批量插入和更新,Mybatis實(shí)現(xiàn)批量插入和更新

    基于mybatis實(shí)現(xiàn)的批量插入和更新 由于直接執(zhí)行批量所有數(shù)據(jù)可能會(huì)出現(xiàn)長(zhǎng)度超出報(bào)錯(cuò)問題,使用如下方式即可解決 原理還是分配執(zhí)行,這里的100就是設(shè)定每次執(zhí)行最大數(shù) 這里使用插入作為例子,也可以使用批量更新 更新的寫法

    2024年02月12日
    瀏覽(31)
  • MyBatis-plus的批量插入方式對(duì)比分析

    ??【摘要】Mybatis批量插入一直是開發(fā)者重點(diǎn)關(guān)注的問題,本文列舉了Mybatis的五種插入方式進(jìn)行對(duì)比分析,驗(yàn)證了五種批量插入的方式的優(yōu)先級(jí)。 ??略。 1、編寫UserService服務(wù)類,測(cè)試一萬條數(shù)據(jù)的耗時(shí)情況: 2、編寫UserMapper接口 3、編寫UserMapper.xml文件 4、進(jìn)行單元測(cè)試

    2024年02月07日
    瀏覽(24)
  • 估計(jì)很多人不知道:在PowerPoint中插入圖片的三種方式用法和解析

    估計(jì)很多人不知道:在PowerPoint中插入圖片的三種方式用法和解析

    你知道嗎?在我們用PowerPoint制作PPT的時(shí)候,往幻燈片中插入本地圖片時(shí),除了默認(rèn)的“插入”按鈕,點(diǎn)擊插入按鈕右邊的箭頭,還有鏈接到文件、插入和鏈接兩個(gè)選項(xiàng)。 那么,在PowerPoint中插入圖片是的插入、鏈接到文件、插入和鏈接這三個(gè)選項(xiàng)分別是什么含義?有什么作用

    2024年02月04日
    瀏覽(20)
  • Springboot應(yīng)用中Mybatis輸出SQL日志的三種方法

    目錄 一、方法一:指定mybatis日志級(jí)別 二、方法二:配置mybatis-config.xml 三、方法三:指定整個(gè)mapper包下的日志級(jí)別

    2024年01月20日
    瀏覽(32)
  • MySQL插入數(shù)據(jù)的三種方法

    MySQL插入數(shù)據(jù)的三種方法

    insert into:正常的插入數(shù)據(jù),插入數(shù)據(jù)的時(shí)候會(huì)檢查主鍵或者唯一索引,如果出現(xiàn)重復(fù)就會(huì)報(bào)錯(cuò)。 replace into:替換數(shù)據(jù)。插入時(shí),如果表中已經(jīng)存在相同的primary key或者unique索引,則用新數(shù)據(jù)替換;如果沒有相同的primary key或者unique索引,則直接插入。 insert ignore into:插入時(shí)

    2023年04月08日
    瀏覽(16)
  • springboot依賴注入的三種方式

    springboot依賴注入的三種方式 在 Spring Boot 中,使用 XML 配置依賴注入(DI)時(shí),需要使用 bean 元素來定義 bean,并使用 property 元素來為 bean 的屬性注入值或依賴對(duì)象。 以下是一個(gè)簡(jiǎn)單的示例: 在 src/main/resources 目錄下創(chuàng)建 applicationContext.xml 文件。 在該文件中定義一個(gè) testBean

    2023年04月23日
    瀏覽(25)
  • 【SpringBoot】獲取HttpServletRequest的三種方式

    線程安全 缺點(diǎn): 每個(gè)方法都需要寫一遍 線程安全 在 Spring 中, DemoRequestController 的 scope 是 singleton (單例),也就是說在整個(gè) web 系統(tǒng)中,只有一個(gè) DemoRequestController ;但是其中注入的 request 卻是線程安全的,原因在于:使用這種方式,當(dāng) Bean (本例的 DemoRequestController )初始化

    2024年02月12日
    瀏覽(20)
  • SpringBoot實(shí)現(xiàn)分頁的三種方式

    一 自己封裝Page對(duì)象實(shí)現(xiàn) 博客鏈接 二 使用sql實(shí)現(xiàn)分頁 2.1 場(chǎng)景分析 前段傳遞給給后臺(tái)什么參數(shù)? 當(dāng)前頁碼 currentPage 每頁顯示條數(shù) pageSize 后臺(tái)給前端返回什么數(shù)據(jù)? 當(dāng)前頁數(shù)據(jù) List 總記錄數(shù) totalCount 2.2 前段代碼 2.3 后端代碼 PageBean mapper service impl controller 三 使用PageHelper插件

    2024年02月10日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包