mybatis對于list更新sql語句的寫法說明
對于list更新sql語句的寫法
批量更新
<update id="updateConfigureNames" parameterType="java.util.List">
?? ?<foreach collection="list" item="item" index="index" open=""
?? ??? ?close="" separator=";">
?? ??? ?update configure
?? ??? ?<set>
?? ??? ??? ?configure_name=#{item.configureName}
?? ??? ?</set>
?? ??? ?where id = #{item.id,jdbcType=VARCHAR}
?? ?</foreach>
</update>在使用foreach的時候最關(guān)鍵的也是最容易出錯的就是collection屬性,該屬性是必須指定的,但是在不同情況下,該屬性的值是不一樣的
主要有一下3種情況:
- 如果傳入的是單參數(shù)且參數(shù)類型是一個List的時候,collection屬性值為list
- 如果傳入的是單參數(shù)且參數(shù)類型是一個array數(shù)組的時候,collection的屬性值為array
- 如果傳入的參數(shù)是多個的時候,我們就需要把它們封裝成一個Map了,當(dāng)然單參數(shù)也可
mybatis動態(tài)更新sql語句
注意參數(shù)是實(shí)體
<!--更新-->
<update id="updateOne" parameterType="com.entity.GovernmentDetail">
? ? UPDATE GOVERNMENT_DETAIL
? ? <trim prefix="set" suffixOverrides=",">
? ? ? ? <if test="UNIT_TYPE!=null">unitType=#{unitType},</if>
? ? ? ? <if test="PLAT_CODE!=null">plateCode=#{plateCode},</if>
? ? ? ? <if test="DESCRIP!=null">descrip=#{descrip},</if>
? ? ? ? <if test="BUSINESS_GUID!=null">businessGuid=#{businessGuid},</if>
? ? ? ? <if test="HOT_LINE!=null">hotLine=#{hotLine},</if>
? ? ? ? <if test="LINE_ADRESS!=null">lineAdress=#{lineAdress},</if>
? ? ? ? <if test="EXTEND1!=null">extend1=#{extend1},</if>
? ? ? ? <if test="EXTEND2!=null">extend2=#{extend2},</if>
? ? </trim>
? ? WHERE ID=#{id}
</update>以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Idea2024創(chuàng)建Maven項(xiàng)目沒有src文件夾的解決步驟
本文主要介紹了Idea2024創(chuàng)建Maven項(xiàng)目沒有src文件夾,文中通過圖文示例介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02
Java數(shù)據(jù)結(jié)構(gòu)與算法之棧(動力節(jié)點(diǎn)Java學(xué)院整理)
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)與算法之棧,棧是先進(jìn)后出的數(shù)據(jù)的結(jié)構(gòu),本文通過文字說明與實(shí)例代碼相結(jié)合的形式給大家介紹的非常詳細(xì),需要的朋友跟著小編一起學(xué)習(xí)吧2017-04-04
一篇文章帶你使用SpringBoot基于WebSocket的在線群聊實(shí)現(xiàn)
這篇文章主要介紹了一篇文章帶你使用SpringBoot基于WebSocket的在線群聊實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
Java對象以Hash結(jié)構(gòu)存入Redis詳解
這篇文章主要介紹了Java對象以Hash結(jié)構(gòu)存入Redis詳解,和Java中的對象非常相似,卻不能按照J(rèn)ava對象的結(jié)構(gòu)直接存儲進(jìn)Redis的hash中,因?yàn)镴ava對象中的field是可以嵌套的,而Redis的Hash結(jié)構(gòu)不支持嵌套結(jié)構(gòu),需要的朋友可以參考下2023-08-08
SpringBoot3實(shí)戰(zhàn)教程之實(shí)現(xiàn)接口簽名驗(yàn)證功能
接口簽名是一種重要的安全機(jī)制,用于確保 API 請求的真實(shí)性、數(shù)據(jù)的完整性以及防止重放攻擊,這篇文章主要介紹了SpringBoot3實(shí)戰(zhàn)教程之實(shí)現(xiàn)接口簽名驗(yàn)證功能,需要的朋友可以參考下2025-04-04
Java struts2 validate用戶登錄校驗(yàn)功能實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Java struts2 validate用戶登錄校驗(yàn)功能實(shí)現(xiàn)的具體步驟,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-05-05
Spring類型轉(zhuǎn)換 ConversionSerivce Convertor解析
這篇文章主要介紹了Spring類型轉(zhuǎn)換 ConversionSerivce Convertor的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-11-11

