Mybatis常會出現(xiàn)批量操作,如批量查詢,批量插入,批量修改(replace into)。批量操作要比循環(huán)執(zhí)行效率提升很多,這里對mybatis的批量操作做一個總結(jié)講解。Mybatis常會出現(xiàn)批量操作,如批量查詢,批量插入,批量修改(replace into)。批量操作要比循環(huán)執(zhí)行效率提升很多,這里對mybatis的批量操作做一個總結(jié)講解。
Foreach
foreach:foreach的主要用在構(gòu)建in條件中,它可以在SQL語句中進(jìn)行迭代一個集合。foreach元素的屬性主要有 item,index,collection,open,separator,close。它是批量操作的核心標(biāo)簽,下面都是foreach在不同場景的應(yīng)用和寫法。
List-string
select id, accid, key1, key1createtime key1CreateTime, key2, key2createtime key2CreateTime
from m_acc_keys where accid in <foreach item=”item” index=”index” collection=”paramIds” open=”(” separator=”,” close=”)”>
#{item} </foreach>
注意:你可以傳遞一個 List 實例或者數(shù)組作為參數(shù)對象傳給 MyBatis。當(dāng)你這么做的時候,MyBatis 會自動將它包裝在一個 Map 中,用名稱在作為鍵。List 實例將會以“l(fā)ist”作為鍵,而數(shù)組實例將會以“array”作為鍵。
List-Object這是一個批量保存(插入或修改)的例子
replace:會根據(jù)主鍵和唯一索引判斷該記錄是否存在,存在就刪除在插入(修改),不存在就插入(insert)。
數(shù)組還是一個查詢的例子
多重循環(huán)colids和proids是兩個平級的數(shù)據(jù)。
批量插入id自增長Mybatis在版本3.4.x以上支持批量插入綁定自增長id,常用版本3.4.1。

對應(yīng)的maven支持
Mapper.xml寫法
本文鏈接:
本文章“Mybati如何執(zhí)行批量操作”已幫助 184 人
免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識產(chǎn)權(quán)侵權(quán)的法律責(zé)任!
本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579