Mybatis常會(huì)出現(xiàn)批量操作,如批量查詢,批量插入,批量修改(replace into)。批量操作要比循環(huán)執(zhí)行效率提升很多,這里對(duì)mybatis的批量操作做一個(gè)總結(jié)講解。Mybatis常會(huì)出現(xiàn)批量操作,如批量查詢,批量插入,批量修改(replace into)。批量操作要比循環(huán)執(zhí)行效率提升很多,這里對(duì)mybatis的批量操作做一個(gè)總結(jié)講解。
Foreach
foreach:foreach的主要用在構(gòu)建in條件中,它可以在SQL語句中進(jìn)行迭代一個(gè)集合。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>
注意:你可以傳遞一個(gè) List 實(shí)例或者數(shù)組作為參數(shù)對(duì)象傳給 MyBatis。當(dāng)你這么做的時(shí)候,MyBatis 會(huì)自動(dòng)將它包裝在一個(gè) Map 中,用名稱在作為鍵。List 實(shí)例將會(huì)以“l(fā)ist”作為鍵,而數(shù)組實(shí)例將會(huì)以“array”作為鍵。
List-Object這是一個(gè)批量保存(插入或修改)的例子
replace:會(huì)根據(jù)主鍵和唯一索引判斷該記錄是否存在,存在就刪除在插入(修改),不存在就插入(insert)。
數(shù)組還是一個(gè)查詢的例子
多重循環(huán)colids和proids是兩個(gè)平級(jí)的數(shù)據(jù)。
批量插入id自增長Mybatis在版本3.4.x以上支持批量插入綁定自增長id,常用版本3.4.1。

對(duì)應(yīng)的maven支持
Mapper.xml寫法
本文鏈接:
本文章“Mybati如何執(zhí)行批量操作”已幫助 184 人
免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識(shí)產(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