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了,當然單參數(shù)也可
mybatis動態(tài)更新sql語句
注意參數(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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Idea2024創(chuàng)建Maven項目沒有src文件夾的解決步驟
本文主要介紹了Idea2024創(chuàng)建Maven項目沒有src文件夾,文中通過圖文示例介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2025-02-02
Java數(shù)據(jù)結(jié)構(gòu)與算法之棧(動力節(jié)點Java學院整理)
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)與算法之棧,棧是先進后出的數(shù)據(jù)的結(jié)構(gòu),本文通過文字說明與實例代碼相結(jié)合的形式給大家介紹的非常詳細,需要的朋友跟著小編一起學習吧2017-04-04
一篇文章帶你使用SpringBoot基于WebSocket的在線群聊實現(xiàn)
這篇文章主要介紹了一篇文章帶你使用SpringBoot基于WebSocket的在線群聊實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10
Java對象以Hash結(jié)構(gòu)存入Redis詳解
這篇文章主要介紹了Java對象以Hash結(jié)構(gòu)存入Redis詳解,和Java中的對象非常相似,卻不能按照Java對象的結(jié)構(gòu)直接存儲進Redis的hash中,因為Java對象中的field是可以嵌套的,而Redis的Hash結(jié)構(gòu)不支持嵌套結(jié)構(gòu),需要的朋友可以參考下2023-08-08
SpringBoot3實戰(zhàn)教程之實現(xiàn)接口簽名驗證功能
接口簽名是一種重要的安全機制,用于確保 API 請求的真實性、數(shù)據(jù)的完整性以及防止重放攻擊,這篇文章主要介紹了SpringBoot3實戰(zhàn)教程之實現(xiàn)接口簽名驗證功能,需要的朋友可以參考下2025-04-04
Java struts2 validate用戶登錄校驗功能實現(xiàn)
這篇文章主要為大家詳細介紹了Java struts2 validate用戶登錄校驗功能實現(xiàn)的具體步驟,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-05-05
Spring類型轉(zhuǎn)換 ConversionSerivce Convertor解析
這篇文章主要介紹了Spring類型轉(zhuǎn)換 ConversionSerivce Convertor的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-11-11

