欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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,由于之前忙著趕項目,就直接照著下面的這樣寫,結果發(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é)點標簽:

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>標簽內(nèi)的內(nèi)容,放在<set></set>標簽中

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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 解決IDEA開發(fā)工具右側沒有Maven工具欄的問題

    解決IDEA開發(fā)工具右側沒有Maven工具欄的問題

    這篇文章主要給大家解決了IDEA開發(fā)工具右側沒有Maven工具欄的問題,文中有詳細的解決步驟,如果有遇到一樣問題的小伙伴,可以參考閱讀本文
    2023-09-09
  • JAVA注解代碼詳解一篇就夠了

    JAVA注解代碼詳解一篇就夠了

    這篇文章主要介紹了Java注解詳細介紹,本文講解了Java注解是什么、Java注解基礎知識、Java注解類型、定義Java注解類型的注意事項等內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • SpringBoot整合activemq的案例代碼

    SpringBoot整合activemq的案例代碼

    ActiveMQ是消息隊列技術,為解決高并發(fā)問題而生,本文通過案例代碼給大家介紹pringBoot整合activemq的詳細過程,感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • Spring框架設值注入操作實戰(zhàn)案例分析

    Spring框架設值注入操作實戰(zhàn)案例分析

    這篇文章主要介紹了Spring框架設值注入操作,結合具體實例形式分析了spring框架設值注入相關實現(xiàn)與使用方法,需要的朋友可以參考下
    2019-11-11
  • 在Spring Boot中如何使用log4j記錄日志

    在Spring Boot中如何使用log4j記錄日志

    這篇文章主要介紹如何在spring boot中引入log4j,以及一些基礎用法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • Java 指定微信好友自動發(fā)送消息的實現(xiàn)示例

    Java 指定微信好友自動發(fā)送消息的實現(xiàn)示例

    這篇文章主要介紹了Java 指定微信好友自動發(fā)送消息的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • SpringBoot集成SpringMVC的方法示例

    SpringBoot集成SpringMVC的方法示例

    這篇文章主要介紹了SpringBoot集成SpringMVC的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Java實現(xiàn)發(fā)紅包功能

    Java實現(xiàn)發(fā)紅包功能

    這篇文章主要為大家詳細介紹了Java實現(xiàn)發(fā)紅包功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 詳解MyBatis-Plus updateById方法更新不了空字符串/null解決方法

    詳解MyBatis-Plus updateById方法更新不了空字符串/null解決方法

    這篇文章主要介紹了詳解MyBatis-Plus updateById方法更新不了空字符串/null解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Java多文件以ZIP壓縮包導出的實現(xiàn)方法

    Java多文件以ZIP壓縮包導出的實現(xiàn)方法

    這篇文章主要為大家詳細介紹了Java多文件以ZIP壓縮包導出的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07

最新評論