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

在MyBatis中使用<、<=?等特殊符號(hào)詳解

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

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

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

Tag name expected

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

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

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

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

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

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

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

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

其實(shí)這個(gè)不是 MyBaits層面的處理,而是 XML 層面的處理,加上 <![CDATA[ ]]> 之后,在其里面的所有內(nèi)容將不會(huì)被解析,會(huì)原樣的被 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[ ]]> 里面的話,會(huì)導(dǎo)致 MyBatis 無(wú)法解析這些動(dòng)態(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)文章

  • Java如何使用正則表達(dá)式查找指定字符串

    Java如何使用正則表達(dá)式查找指定字符串

    在軟件開(kāi)發(fā)中正則表達(dá)式是個(gè)很有用的功能,使用正則表達(dá)式可以簡(jiǎn)化代碼,省去不少時(shí)間,下面這篇文章主要給大家介紹了關(guān)于Java如何使用正則表達(dá)式查找指定字符串的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • java eclipse 中文件的上傳和下載示例解析

    java eclipse 中文件的上傳和下載示例解析

    這篇文章主要介紹了eclipse java中文件的上傳和下載示例解析,文件上傳,瀏覽器在上傳的過(guò)程中是將文件以流的形式提交到服務(wù)器端的。對(duì)此感興趣的小伙伴可以了解一下
    2020-07-07
  • SpringBoot實(shí)現(xiàn)ORM操作MySQL的幾種方法

    SpringBoot實(shí)現(xiàn)ORM操作MySQL的幾種方法

    本文主要介紹了SpringBoot實(shí)現(xiàn)ORM操作MySQL的幾種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Spring?Boot?啟動(dòng)參數(shù)之如何優(yōu)雅地控制你的應(yīng)用(最新推薦)

    Spring?Boot?啟動(dòng)參數(shù)之如何優(yōu)雅地控制你的應(yīng)用(最新推薦)

    Spring Boot 提供了哪些方式來(lái)配置這些啟動(dòng)參數(shù),今天我們就來(lái)詳細(xì)解析 Spring Boot 啟動(dòng)參數(shù)的各種用法,并附帶代碼示例,讓你可以靈活掌控應(yīng)用的啟動(dòng)過(guò)程,需要的朋友可以參考下
    2025-04-04
  • Java面試題沖刺第二十三天--算法(2)

    Java面試題沖刺第二十三天--算法(2)

    這篇文章主要為大家分享了最有價(jià)值的三道關(guān)于算法的面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下
    2021-08-08
  • SpringBoot全局異常捕獲參數(shù)以及參數(shù)異常的解決方案

    SpringBoot全局異常捕獲參數(shù)以及參數(shù)異常的解決方案

    這篇文章主要介紹了SpringBoot全局異常捕獲參數(shù)以及參數(shù)異常的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • java compare compareTo方法區(qū)別詳解

    java compare compareTo方法區(qū)別詳解

    本文主要介紹了java compare compareTo方法區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 關(guān)于Java數(shù)組查詢的相關(guān)問(wèn)題及實(shí)例

    關(guān)于Java數(shù)組查詢的相關(guān)問(wèn)題及實(shí)例

    這篇文章主要介紹了關(guān)于Java數(shù)組查詢的相關(guān)問(wèn)題及實(shí)例,需要的朋友可以參考下。
    2017-08-08
  • 徹底卸載、更換jdk全過(guò)程

    徹底卸載、更換jdk全過(guò)程

    本文介紹了卸載舊版JDK并安裝新版JDK的詳細(xì)步驟,包括卸載JDK、刪除注冊(cè)表中的JavaSoft文件夾、刪除環(huán)境變量、刪除exe文件以及安裝新版JDK
    2026-02-02
  • IntelliJ IDEA 2023.2正式發(fā)布新UI和Profiler轉(zhuǎn)正(最新推薦)

    IntelliJ IDEA 2023.2正式發(fā)布新UI和Profiler轉(zhuǎn)正(最新推薦)

    北京時(shí)間2023年7月26日,IntelliJ IDEA 2023.2正式發(fā)布,IntelliJ IDEA 2023.2 引入 AI Assistant(AI助手),通過(guò)一組由 AI 提供支持的功能助力開(kāi)發(fā),今天給大家分享IntelliJ IDEA 2023.2正式發(fā)布新UI和Profiler轉(zhuǎn)正,感興趣的朋友一起看看吧
    2023-10-10

最新評(píng)論

安顺市| 丹寨县| 平凉市| 玛沁县| 大安市| 巴南区| 平度市| 开封县| 额尔古纳市| 乌审旗| 怀仁县| 徐州市| 平原县| 涟源市| 龙南县| 浦东新区| 汶上县| 新竹市| 科技| 南通市| 河北区| 龙陵县| 信丰县| 嘉兴市| 延边| 桃江县| 丰都县| 枞阳县| 阿克| 孟州市| 新龙县| 金阳县| 广灵县| 遂平县| 定安县| 上蔡县| 昭平县| 罗江县| 铁岭市| 常熟市| 东台市|