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

在MyBatis中使用<、<=?等特殊符號詳解

 更新時(shí)間:2025年04月30日 09:10:10   作者:Roc.Chang  
這篇文章主要介紹了在MyBatis中使用<、<=?等特殊符號方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

在實(shí)際的開發(fā)中,經(jīng)常會遇到一些場景,比如查詢小于某個(gè)時(shí)間,或者是查詢小于某個(gè)年齡等。

這個(gè)時(shí)候就需要在 MyBatisXML 文件中使用一些 <、<= 等符號,但是如果直接使用的話文件會報(bào)錯(cuò):

Tag name expected

這個(gè)時(shí)候處理的話一般有以下三種方式:

1. 直接Java 處理(不推薦)

這種方法其實(shí)就是通過 #{param} 或者是 ${param} 直接在 Java 代碼中手動拼接,作為參數(shù)傳入,這樣寫的話代碼不方便維護(hù),現(xiàn)在一般的話也很少有這樣的寫的,所以在這里就不說了。

2. 特殊符號轉(zhuǎn)義

可以通過轉(zhuǎn)義的方式去實(shí)現(xiàn)。

轉(zhuǎn)義也有好處,就是可讀性上有些差,如果忘了轉(zhuǎn)義字符的話還需要再次查,比較耗時(shí),反正到現(xiàn)在有的時(shí)候我還是會忘記。

符號轉(zhuǎn)義字符描述
<&lt;小于,需轉(zhuǎn)義
<=&lt;=小于等于,需轉(zhuǎn)義
>&gt;大于,無需轉(zhuǎn)義
>=&gt;=大于等于,無需轉(zhuǎn)義
&&amp;和,沒遇到相應(yīng)場景
'&apos;單引號,沒遇到相應(yīng)場景
''&quot;雙引號,單引號,沒遇到相應(yīng)場景

3. 硬核方法:<![CDATA[ ]]>

其實(shí)這個(gè)不是 MyBaits層面的處理,而是 XML 層面的處理,加上 <![CDATA[ ]]> 之后,在其里面的所有內(nèi)容將不會被解析,會原樣的被 MyBatis 拼接到 SQL 中,

使用方法如下:

<select id="list" resultType="com.study.mybatisdemo.model.SystemUser">
    select * from system_user
    <where>
        <if test="age != null">
            <![CDATA[
               age < #{age}
            ]]>
        </if>
        <if test="id != null">
            <![CDATA[
               AND id < #{id}
            ]]>
        </if>
    </where>
</select>

但是這里要注意 <![CDATA[ ]]> 的范圍,就和上面的例子一樣,<where><if> 標(biāo)簽是 MyBaits 提供的,如果也將它們放在 <![CDATA[ ]]> 里面的話,會導(dǎo)致 MyBatis 無法解析這些動態(tài) SQL 標(biāo)簽。

反例(錯(cuò)誤的使用):

<select id="list" resultType="com.study.mybatisdemo.model.SystemUser">
    select * from system_user
    <![CDATA[
        <where>
            <if test="age != null">
               age < #{age}
            </if>
            <if test="id != null">
               AND id < #{id}
            </if>
        </where>
    ]]>
</select>

總結(jié)

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

相關(guān)文章

  • 一篇文章帶你玩轉(zhuǎn)go語言的接口

    一篇文章帶你玩轉(zhuǎn)go語言的接口

    這篇文章主要介紹了go語言的接口,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧,希望能夠給你帶來幫助
    2021-09-09
  • Springboot集成ClickHouse及應(yīng)用場景分析

    Springboot集成ClickHouse及應(yīng)用場景分析

    這篇文章主要介紹了Springboot集成ClickHouse的實(shí)例代碼,本文通過應(yīng)用場景實(shí)例代碼介紹了整合springboot的詳細(xì)過程,感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • 詳解Java之冒泡排序與選擇排序

    詳解Java之冒泡排序與選擇排序

    這篇文章主要為大家介紹了Java之冒泡排序與選擇排序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • Java簡單數(shù)組排序(冒泡法)

    Java簡單數(shù)組排序(冒泡法)

    這篇文章主要介紹了Java簡單數(shù)組排序,實(shí)例分析了基于冒泡法實(shí)現(xiàn)數(shù)組排序的相關(guān)技巧,簡單實(shí)用,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • MyBatisPlus條件構(gòu)造器的實(shí)現(xiàn)示例

    MyBatisPlus條件構(gòu)造器的實(shí)現(xiàn)示例

    本文主要介紹了MyBatisPlus條件構(gòu)造器的實(shí)現(xiàn)示例,主要包括了QueryWrapper,UpdateWrapper,LambdaQueryWrapper,LambdaUpdateWrapper這四種,具有一定的參考價(jià)值,感興趣的可以了解下
    2023-12-12
  • 深入解析MybatisPlus多表連接查詢

    深入解析MybatisPlus多表連接查詢

    在一些復(fù)雜的業(yè)務(wù)場景中,我們經(jīng)常會遇到多表連接查詢的需求,本文主要介紹了深入解析MybatisPlus多表連接查詢,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • 解決spring boot hibernate 懶加載的問題

    解決spring boot hibernate 懶加載的問題

    這篇文章主要介紹了解決spring boot hibernate 懶加載的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • spring boot的攔截器簡單使用示例代碼

    spring boot的攔截器簡單使用示例代碼

    這篇文章主要介紹了spring boot的攔截器簡單使用實(shí)例代碼,需要的的朋友參考下吧
    2017-04-04
  • Mybatis的collection三層嵌套查詢方式(驗(yàn)證通過)

    Mybatis的collection三層嵌套查詢方式(驗(yàn)證通過)

    這篇文章主要介紹了Mybatis的collection三層嵌套查詢方式(驗(yàn)證通過),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • MyBatis-Plus將字段修改為空值的解決方案

    MyBatis-Plus將字段修改為空值的解決方案

    這篇文章主要介紹了MyBatis-Plus將字段修改為空值的解決方案,本文給大家分享三種常用的解決方案,感興趣的朋友一起看看吧
    2023-12-12

最新評論