最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MyBatis解決Update動態(tài)SQL逗號的問題

 更新時間:2022年01月21日 10:51:09   作者:qq_16291159  
這篇文章主要介紹了MyBatis解決Update動態(tài)SQL逗號的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Update動態(tài)SQL逗號問題

最做項目遇到以下情況,MyBatis中需要動態(tài)拼接Update,由于之前忙著趕項目,就直接照著下面的這樣寫,結(jié)果發(fā)現(xiàn)系統(tǒng)出現(xiàn)了異常,原來這樣寫如果 id=null就會出錯

UPDATE ? ? TABLE
? ? ? ? ?SET ??
? ? ? ?<if test="id!=null">
? ? ? ? id= #{id,jdbcType=INTEGER}?
? ? ? ?</if>?
? ? ? <if test"name!=null">?
? ? ? ? ,name = #{name,jdbcType=VARCHAR}
? ? ?</if>?
where id = #{id,jdbcType=INTEGER}

于是我查閱了網(wǎng)上的Mybatis的API和官方文檔,找到了如下

解決辦法

UPDATE ? ? TABLE
? ? ? ?<trim prefix="set" suffixOverrides=","> ?
? ? ? ?<if test="id!=null">
? ? ? ? id= #{id,jdbcType=INTEGER},
? ? ? ?</if>
? ? ? <if test"name!=null">
? ? ? ? name = #{name,jdbcType=VARCHAR},
? ? ?</if>
? ? ?</trim>
where id = #{id,jdbcType=INTEGER}

<trim>節(jié)點標(biāo)簽:

trim主要功能是可以在Trim包含的內(nèi)容前加上某些前綴(prefix),也可以在Trim包含的內(nèi)容之后加上某些后綴(suffix)

還可以把Trim包含內(nèi)容的首部的某些內(nèi)容忽略掉(prefixOverrides) ,也可以把Trim包含的內(nèi)容的尾部的某些內(nèi)容忽略掉(suffixOverrides)

<trim prefix="set" suffixOverrides=",">?

這行代碼的意思是:在前面加上set  去掉最后的逗號!?。?/p>

備注方法2:把更新條件<if>標(biāo)簽內(nèi)的內(nèi)容,放在<set></set>標(biāo)簽中

Mapper(Update)逗號位置

<update id="update" parameterType="map">
        update t_role
        <set> 
        <if test="name != null and name !=''">
            name=#{name},
        </if>
        <if test="msg != null and msg !=''">
            msg=#{msg},
        </if>
        <if test="type != null and type !=''">
            type=#{type},
        </if>
        <if test="creator_id != null and creator_id !=''">
            creator_id=#{creator_id},
        </if>
        <if test="level != null and level !=''">
            level=#{level}
        </if></set>
     where id=#{id}
</update>

使用 <set></set>可以智能去掉最后一個逗號,十分方便!

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot集成ShardingSphere實現(xiàn)數(shù)據(jù)庫分表

    SpringBoot集成ShardingSphere實現(xiàn)數(shù)據(jù)庫分表

    ShardingSphere?是一個開源的分布式數(shù)據(jù)庫中間件,旨在為應(yīng)用提供數(shù)據(jù)庫分片、讀寫分離、分布式事務(wù)等功能,下面我們來看看SpringBoot如何集成ShardingSphere實現(xiàn)數(shù)據(jù)庫分表吧
    2024-12-12
  • Spring容器刷新obtainFreshBeanFactory示例詳解

    Spring容器刷新obtainFreshBeanFactory示例詳解

    這篇文章主要為大家介紹了Spring容器刷新obtainFreshBeanFactory示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • SpringMVC框架如何與Junit整合看這個就夠了

    SpringMVC框架如何與Junit整合看這個就夠了

    這篇文章主要介紹了SpringMVC框架如何與Junit整合看這個就夠了,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • SparkSQl簡介及運行原理

    SparkSQl簡介及運行原理

    Spark SQL就是將SQL轉(zhuǎn)換成一個任務(wù),提交到集群上運行,類似于Hive的執(zhí)行方式。今天通過本文給大家分享SparkSQl簡介及運行原理,感興趣的朋友跟隨小編一起看看吧
    2021-08-08
  • springboot的切面應(yīng)用方式(注解Aspect)

    springboot的切面應(yīng)用方式(注解Aspect)

    文章總結(jié):Spring?Boot提供了三種攔截器:Filter、Interceptor和Aspect,Filter主要用于內(nèi)容過濾和非登錄狀態(tài)的非法請求過濾,無法獲取Spring框架相關(guān)的信息,Interceptor可以在獲取請求類名、方法名的同時,獲取請求參數(shù),但無法獲取參數(shù)值
    2024-11-11
  • java實現(xiàn)簡單發(fā)送郵件功能

    java實現(xiàn)簡單發(fā)送郵件功能

    這篇文章主要為大家詳細介紹了java實現(xiàn)簡單發(fā)送郵件功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 圖文詳解Java中的字節(jié)輸入與輸出流

    圖文詳解Java中的字節(jié)輸入與輸出流

    在Java中所有數(shù)據(jù)都是使用流讀寫的,流是一組有序的數(shù)據(jù)序列,將數(shù)據(jù)從一個地方帶到另一個地方,這篇文章主要給大家介紹了關(guān)于Java中字節(jié)輸入與輸出流的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • 解決idea刪除模塊后重新創(chuàng)建顯示該模塊已經(jīng)被注冊的問題

    解決idea刪除模塊后重新創(chuàng)建顯示該模塊已經(jīng)被注冊的問題

    這篇文章主要介紹了解決idea刪除模塊后重新創(chuàng)建顯示該模塊已經(jīng)被注冊的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • spring?data?jpa如何使用自定義repository實現(xiàn)類

    spring?data?jpa如何使用自定義repository實現(xiàn)類

    這篇文章主要介紹了spring?data?jpa如何使用自定義repository實現(xiàn)類,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Spring框架基于AOP實現(xiàn)簡單日志管理步驟解析

    Spring框架基于AOP實現(xiàn)簡單日志管理步驟解析

    這篇文章主要介紹了Spring框架基于AOP實現(xiàn)簡單日志管理步驟解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06

最新評論

常州市| 佛坪县| 高雄市| 建瓯市| 六枝特区| 黎川县| 通山县| 巫山县| 河池市| 积石山| 旌德县| 咸丰县| 龙岩市| 临泉县| 平定县| 赞皇县| 彝良县| 龙门县| 临沧市| 沙洋县| 洪江市| 临安市| 台中市| 綦江县| 固镇县| 永年县| 全州县| 林口县| 略阳县| 台中市| 蒙城县| 高陵县| 临江市| 防城港市| 承德市| 漳浦县| 清新县| 贺兰县| 商都县| 旌德县| 上蔡县|