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

您的位置:首頁技術文章
文章詳情頁

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

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

select * from user where id <> 217;

mybatis就會報語法錯誤,<>特殊字符需要轉義

如下

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

使用Mybatis的時候,特殊字符需進行轉義,如

&lt;&gt; <>

&amp; &

&apos; ’

&quot; '

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

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

需要之內尖括號進行相關的轉義或者使用 CDATA 區段。

2、實現方式

2.1、轉義特殊符號方式

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

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

mapper文件寫法:

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

2.2、使用 CDATA 區段

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

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

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

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

mapper文件寫法:

select t.* form tablenme t where t.code <![CDATA[<>]]> 13、Mybatis if 判斷等于一個字符串

當傳入的type的值為note 的時候,if判斷內的sql也不會執行。

<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二進制轉成字符串

SELECT cast(fieldName as CHAR) FROM tablename

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Mybatis 數據庫
相關文章:
主站蜘蛛池模板: 四会市| 旺苍县| 阿巴嘎旗| 海伦市| 达州市| 衢州市| 瓦房店市| 和平县| 丽水市| 洱源县| 通江县| 新田县| 惠东县| 海伦市| 藁城市| 页游| 桃园市| 新田县| 朝阳区| 开封市| 临城县| 山东省| 武义县| 马鞍山市| 荃湾区| 阳信县| 自贡市| 肥城市| 广南县| 锦屏县| 库尔勒市| 崇阳县| 青铜峡市| 西藏| 巍山| 绥德县| 会昌县| 板桥市| 余干县| 滨海县| 桐梓县|