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

聊聊Mybatis中sql語(yǔ)句不等于的表示

 更新時(shí)間:2021年07月13日 10:37:05   作者:楊仙僧  
這篇文章主要介紹了Mybatis中sql語(yǔ)句不等于的表示方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。

Mybatis sql語(yǔ)句不等于的表示

如果直接寫(xiě)

select * from user where id <> 217;

mybatis就會(huì)報(bào)語(yǔ)法錯(cuò)誤,<>特殊字符需要轉(zhuǎn)義

如下

select * from user where id &lt;&gt; 217;

使用Mybatis的時(shí)候,特殊字符需進(jìn)行轉(zhuǎn)義,如

&lt;&gt; <>

&amp; &

&apos; '

&quot; "

Mybatis 特殊符號(hào)(大于,小于,不等于)及常用函數(shù)總結(jié)

1、使用場(chǎng)景

因?yàn)槲覀冊(cè)谌粘4aMybatis 動(dòng)態(tài)拼接語(yǔ)句時(shí)候經(jīng)常使用到 大于(>,>=)、小于(<,<=)、不等于(<> ,!=)符號(hào)。由于此符號(hào)包含了尖括號(hào),Mybatis使用的 *.xml文件格式。于是

需要之內(nèi)尖括號(hào)進(jìn)行相關(guān)的轉(zhuǎn)義或者使用 CDATA 區(qū)段。

2、實(shí)現(xiàn)方式

2.1、轉(zhuǎn)義特殊符號(hào)方式

注釋?zhuān)簢?yán)格地講,在 XML 中僅有字符 "<"和"&" 是非法的。省略號(hào)、引號(hào)和大于號(hào)是合法的,但是把它們替換為實(shí)體引用是個(gè)好的習(xí)慣。

符號(hào) 原符號(hào) 替換符號(hào)
小于 < &lt;
小于等于 <= &lt;=
大于 > &gt;
大于等于 >= &gt;=
不等于 <> &lt;&gt;
& &amp;
單引號(hào) ' &apos;
雙引號(hào) " &quot;

mapper文件寫(xiě)法:

select * form tablenme t where t.code &lt;&gt; 1

2.2、使用 CDATA 區(qū)段

所有 XML 文檔中的文本均會(huì)被解析器解析。只有 CDATA 區(qū)段(CDATA section)中的文本會(huì)被解析器忽略。

大于等于 <![CDATA[ >= ]]>

小于等于 <![CDATA[ <= ]]>

不等于<![CDATA[ <> ]]>

mapper文件寫(xiě)法:

select t.* form tablenme t where t.code <![CDATA[<>]]> 1

3、Mybatis if 判斷等于一個(gè)字符串

當(dāng)傳入的type的值為note 的時(shí)候,if判斷內(nèi)的sql也不會(huì)執(zhí)行。

<if test="type=='note'">  
    and status = 0   
</if>

mybatis是使用的OGNL表達(dá)式來(lái)進(jìn)行解析的,在OGNL的表達(dá)式中,'note'會(huì)被解析成字符,因?yàn)閖ava是強(qiáng)類(lèi)型的,char 和 一個(gè)String 會(huì)導(dǎo)致不等。所以if標(biāo)簽中的sql不會(huì)被解析。

需要解決這個(gè)問(wèn)題,只需要把代碼修改成:

    <if test='type=="note"'>  //注意是雙引號(hào),不是單引號(hào)?。?!
        and status = 0   
    </if> 

4、mysql二進(jìn)制轉(zhuǎn)成字符串

SELECT  cast(fieldName as CHAR)  FROM tablename 

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

相關(guān)文章

  • Java并發(fā)線程池實(shí)例分析講解

    Java并發(fā)線程池實(shí)例分析講解

    這篇文章主要介紹了Java并發(fā)線程池實(shí)例,線程池——控制線程創(chuàng)建、釋放,并通過(guò)某種策略嘗試復(fù)用線程去執(zhí)行任務(wù)的一個(gè)管理框架,從而實(shí)現(xiàn)線程資源與任務(wù)之間一種平衡
    2023-02-02
  • Mybatis中@Param的用法和作用詳解

    Mybatis中@Param的用法和作用詳解

    這篇文章主要介紹了Mybatis中@Param的用法和作用,在文中給大家補(bǔ)充了spring中@param和mybatis中@param使用區(qū)別,需要的朋友可以參考下
    2017-09-09
  • springboot+Vue實(shí)現(xiàn)分頁(yè)的示例代碼

    springboot+Vue實(shí)現(xiàn)分頁(yè)的示例代碼

    本文主要介紹了springboot+Vue實(shí)現(xiàn)分頁(yè)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • SrpingDruid數(shù)據(jù)源加密數(shù)據(jù)庫(kù)密碼的示例代碼

    SrpingDruid數(shù)據(jù)源加密數(shù)據(jù)庫(kù)密碼的示例代碼

    本篇文章主要介紹了SrpingDruid數(shù)據(jù)源加密數(shù)據(jù)庫(kù)密碼的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • 基于BigDecimal.setScale的用法小結(jié)

    基于BigDecimal.setScale的用法小結(jié)

    這篇文章主要介紹了基于BigDecimal.setScale的用法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • Java面向?qū)ο髮?shí)現(xiàn)汽車(chē)租賃系統(tǒng)

    Java面向?qū)ο髮?shí)現(xiàn)汽車(chē)租賃系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Java面向?qū)ο髮?shí)現(xiàn)汽車(chē)租賃系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Java8?CompletableFuture?異步多線程的實(shí)現(xiàn)

    Java8?CompletableFuture?異步多線程的實(shí)現(xiàn)

    本文主要介紹了Java8?CompletableFuture?異步多線程的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Java ArrayList.add 的實(shí)現(xiàn)方法

    Java ArrayList.add 的實(shí)現(xiàn)方法

    這篇文章主要介紹了Java ArrayList.add 的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • JAVA基礎(chǔ)之基本數(shù)據(jù)類(lèi)型全面解析

    JAVA基礎(chǔ)之基本數(shù)據(jù)類(lèi)型全面解析

    下面小編就為大家?guī)?lái)一篇JAVA基礎(chǔ)之基本數(shù)據(jù)類(lèi)型全面解析。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-07-07
  • 輕松掌握J(rèn)ava單例模式

    輕松掌握J(rèn)ava單例模式

    這篇文章主要幫助大家輕松掌握J(rèn)ava單例模式 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10

最新評(píng)論