mybatis-plus mapper中foreach循環(huán)操作代碼詳解(新增或修改)
.循環(huán)添加
接口處:

分別是 void 無返回類型 ;有的話是(resultType)返回類型,參數(shù)類型(parameterType) list ,
如:


在mapper文件中分別對應(yīng)ID,參數(shù)類型和返回類型。
循環(huán)處理,如下:
<insert id="insertPack" parameterType="java.util.List">
insert into t_ev_bu_pack
(
PACK_CODE,
BIN,
PACK_PROD_TIME,
CREATED_DATE,
CREATED_BY,
BATTERY_CLASS,
SUPPLIER_NAME,
TERMINAL_USER
)
values
<foreach collection="list" item="item" index="index" open="" close="" separator=",">
(
#{item.PACK_CODE},
#{item.BIN},
#{item.PACK_PROD_TIME},
now(),
#{item.CREATED_BY},
#{item.BATTERY_CLASS},
#{item.SUPPLIER_NAME},
#{item.TERMINAL_USER}
)
</foreach>
</insert>
由于沒有返回類型,只有方法ID和參數(shù)。
循環(huán)更新:

<update id="updatePack" parameterType="java.util.List">
<foreach collection="list" item="item" index="index" open="" close="" separator=";">
update t_ev_bu_pack
<trim prefix="SET" suffixOverrides=",">
<!-- BIN = #{BIN}, -->
<if test="item.TERMINAL_USER != null and item.TERMINAL_USER != ''">
TERMINAL_USER = #{item.TERMINAL_USER},
</if>
<if test="item.SUPPLIER_NAME != null and item.SUPPLIER_NAME != ''">
SUPPLIER_NAME = #{item.SUPPLIER_NAME},
</if>
<if test="item.PACK_PROD_TIME != null and item.PACK_PROD_TIME != ''">
PACK_PROD_TIME = #{item.PACK_PROD_TIME},
</if>
<if test="item.BATTERY_CLASS != null and item.BATTERY_CLASS != ''">
BATTERY_CLASS = #{item.BATTERY_CLASS},
</if>
LAST_UPDATED_TIME = now(),
LAST_UPDATED_BY = #{item.LAST_UPDATED_BY}
</trim>
where PACK_CODE = #{item.PACK_CODE}
</foreach>
</update>
貌似有點(diǎn)區(qū)別,insert只需要循環(huán)取值就行了,update則更復(fù)雜點(diǎn)因為SET 后面又‘,'號分隔,這個update 是循環(huán)所有數(shù)據(jù),每條數(shù)據(jù)都有一個ID(即根據(jù)主鍵ID修改所以foreach在最外層),而insert只需要循環(huán)要插入的值即可(只需要循環(huán)傳入的數(shù)據(jù)即可);
到此這篇關(guān)于mybatis-plus mapper中foreach循環(huán)操作代碼詳解(新增或修改)的文章就介紹到這了,更多相關(guān)mybatis-plus foreach循環(huán)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
httpclient staleConnectionCheckEnabled獲取連接流程解析
這篇文章主要為大家介紹了httpclient staleConnectionCheckEnabled獲取連接流程示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
SpringBoot內(nèi)置tomcat參數(shù)調(diào)優(yōu)的實(shí)現(xiàn)
springboot內(nèi)置了tomcat, 并給我們設(shè)置了默認(rèn)參數(shù), 我們怎么樣修改springboot內(nèi)置的tomcat參數(shù),本文就詳細(xì)的來介紹一下,感興趣的可以了解一下2023-09-09
Java讀取文件及基于正則表達(dá)式的獲取電話號碼功能詳解
這篇文章主要介紹了Java讀取文件及基于正則表達(dá)式的獲取電話號碼功能,結(jié)合實(shí)例形式詳細(xì)分析了正則匹配操作的相關(guān)語法及電話號碼匹配的原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-09-09
Centos 7 安裝 OpenJDK 11 兩種方式及問題小結(jié)
這篇文章主要介紹了Centos 7 安裝 OpenJDK 11 兩種方式,第一種方式使用yum安裝,第二種方式使用tar解壓安裝,每種方法給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-09-09

