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

聊聊Mybatis中sql語句不等于的表示

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

Mybatis sql語句不等于的表示

如果直接寫

select * from user where id <> 217;

mybatis就會報語法錯誤,<>特殊字符需要轉(zhuǎn)義

如下

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

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

&lt;&gt; <>

&amp; &

&apos; '

&quot; "

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

1、使用場景

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

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

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

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

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

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

mapper文件寫法:

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

2.2、使用 CDATA 區(qū)段

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

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

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

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

mapper文件寫法:

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

3、Mybatis if 判斷等于一個字符串

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

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

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

需要解決這個問題,只需要把代碼修改成:

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

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

SELECT  cast(fieldName as CHAR)  FROM tablename 

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

相關(guān)文章

最新評論

若尔盖县| 犍为县| 清原| 乐昌市| 子长县| 凉山| 观塘区| 齐齐哈尔市| 元江| 东辽县| 拜泉县| 中方县| 湖北省| 盐城市| 印江| 桂平市| 依安县| 永登县| 寿光市| 乌拉特中旗| 闽清县| 霍城县| 青铜峡市| 贺兰县| 昭觉县| 桦川县| 宜兰县| 信丰县| 林口县| 拉萨市| 吉林市| 惠来县| 天柱县| 昌江| 崇仁县| 岚皋县| 济宁市| 宜君县| 奈曼旗| 五河县| 子长县|