国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:13日期:2023-10-18 16:07:27
Mybatis sql語句不等于的表示如果直接寫

select * from user where id <> 217;

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

如下

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

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

&lt;&gt; <>

&amp; &

&apos; ’

&quot; '

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

因為我們在日常代碼Mybatis 動態(tài)拼接語句時候經(jīng)常使用到 大于(>,>=)、小于(<,<=)、不等于(<> ,!=)符號。由于此符號包含了尖括號,Mybatis使用的 *.xml文件格式。于是

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

2、實現(xiàn)方式

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

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

符號 原符號 替換符號 小于 < &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[<>]]> 13、Mybatis if 判斷等于一個字符串

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

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

mybatis是使用的OGNL表達式來進行解析的,在OGNL的表達式中,’note’會被解析成字符,因為java是強類型的,char 和 一個String 會導致不等。所以if標簽中的sql不會被解析。

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

<if test=’type=='note'’> //注意是雙引號,不是單引號!!!and status = 0 </if> 4、mysql二進制轉(zhuǎn)成字符串

SELECT cast(fieldName as CHAR) FROM tablename

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

相關(guān)文章:
主站蜘蛛池模板: 汉中市| 嘉荫县| 大港区| 鞍山市| 株洲市| 南江县| 当阳市| 岱山县| 罗定市| 红桥区| 莱芜市| 南充市| 临朐县| 绥德县| 额敏县| 鹤岗市| 西平县| 修武县| 郧西县| 廉江市| 云安县| 萝北县| 长宁区| 泗洪县| 芜湖县| 台中市| 江北区| 乡城县| 沭阳县| 武威市| 阿拉尔市| 贡觉县| 屯留县| 荥阳市| 太保市| 五台县| 深圳市| 海口市| 瓮安县| 浏阳市| 高唐县|