mybatis對(duì)于list更新sql語(yǔ)句的寫法說(shuō)明
對(duì)于list更新sql語(yǔ)句的寫法
批量更新
<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的時(shí)候最關(guān)鍵的也是最容易出錯(cuò)的就是collection屬性,該屬性是必須指定的,但是在不同情況下,該屬性的值是不一樣的
主要有一下3種情況:
- 如果傳入的是單參數(shù)且參數(shù)類型是一個(gè)List的時(shí)候,collection屬性值為list
- 如果傳入的是單參數(shù)且參數(shù)類型是一個(gè)array數(shù)組的時(shí)候,collection的屬性值為array
- 如果傳入的參數(shù)是多個(gè)的時(shí)候,我們就需要把它們封裝成一個(gè)Map了,當(dāng)然單參數(shù)也可
mybatis動(dòng)態(tài)更新sql語(yǔ)句
注意參數(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>
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java泛型機(jī)制與反射原理相關(guān)知識(shí)總結(jié)
今天帶大家學(xué)習(xí)的是關(guān)于Java進(jìn)階的相關(guān)知識(shí),文章圍繞著Java泛型機(jī)制與反射原理展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06SpringMVC實(shí)現(xiàn)Validation校驗(yàn)過程詳解
這篇文章主要介紹了SpringMVC實(shí)現(xiàn)Validation校驗(yàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11javaweb購(gòu)物車案列學(xué)習(xí)開發(fā)
這篇文章主要為大家詳細(xì)介紹了javaweb購(gòu)物車案列學(xué)習(xí)開發(fā)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05Spring為singleton?bean注入prototype?bean
這篇文章主要介紹了Spring為singleton?bean注入prototype?bean,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07springboot如何使用thymeleaf完成頁(yè)面緩存
這篇文章主要介紹了springboot如何使用thymeleaf完成頁(yè)面緩存,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06IDEA整合Dubbo+Zookeeper+SpringBoot實(shí)現(xiàn)
初學(xué)者,想自己動(dòng)手做一個(gè)簡(jiǎn)單的demo,本文主要介紹了IDEA整合Dubbo+Zookeeper+SpringBoot實(shí)現(xiàn),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06使用Java打印數(shù)字組成的魔方陣及字符組成的鉆石圖形
這篇文章主要介紹了使用Java打印數(shù)字組成的魔方陣及字符組成的鉆石圖形,可作為一些CLI程序界面的基礎(chǔ)部分,需要的朋友可以參考下2016-03-03