mybatis-plus mapper中foreach循環(huán)操作代碼詳解(新增或修改)
.循環(huán)添加
接口處:
分別是 void 無返回類型 ;有的話是(resultType)返回類型,參數(shù)類型(parameterType) list ,
如:
在mapper文件中分別對(duì)應(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)因?yàn)镾ET 后面又‘,'號(hào)分隔,這個(gè)update 是循環(huán)所有數(shù)據(jù),每條數(shù)據(jù)都有一個(gè)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-11SpringBoot內(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-09Java讀取文件及基于正則表達(dá)式的獲取電話號(hào)碼功能詳解
這篇文章主要介紹了Java讀取文件及基于正則表達(dá)式的獲取電話號(hào)碼功能,結(jié)合實(shí)例形式詳細(xì)分析了正則匹配操作的相關(guān)語法及電話號(hào)碼匹配的原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-09-09Centos 7 安裝 OpenJDK 11 兩種方式及問題小結(jié)
這篇文章主要介紹了Centos 7 安裝 OpenJDK 11 兩種方式,第一種方式使用yum安裝,第二種方式使用tar解壓安裝,每種方法給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-09-09