mybatis中sql語句CDATA標(biāo)簽的用法說明
sql語句CDATA標(biāo)簽的用法
CDATA 指的是不應(yīng)由 XML 解析器進(jìn)行解析的文本數(shù)據(jù)(Unparsed Character Data)。
在 XML 元素中,"<" 和 “&” 是非法的;
“<” 會(huì)產(chǎn)生錯(cuò)誤,因?yàn)榻馕銎鲿?huì)把該字符解釋為新元素的開始;
“&” 也會(huì)產(chǎn)生錯(cuò)誤,因?yàn)榻馕銎鲿?huì)把該字符解釋為字符實(shí)體的開始;
在mapper文件中寫sql語句時(shí),遇到特殊字符時(shí),如:"<" 等,建議使用 <![CDATA[ sql語句 ]]> 標(biāo)記,將sql語句包裹住,不被解析器解析;
例如:【偽代碼】
select id from t_article where create_time <![CDATA[ <= ]]> now();
使用CDATA[ ]標(biāo)簽進(jìn)行范圍查詢
在項(xiàng)目中使用mybatis時(shí)的SQL語句是寫在xml映射文件中的,如果想要通過大于小于或者大于等于小于等于查詢符合范圍的數(shù)據(jù),但是若寫入的SQL語句有一些類似>,<的特殊字符的話,在解析xml文件的時(shí)候會(huì)被轉(zhuǎn)義,但這并不是我們所希望的,所以這個(gè)時(shí)候可以使用<![CDATA[]]>標(biāo)簽來解決。
<![CDATA[ ]]> 是什么,這是XML語法。在CDATA內(nèi)部的所有內(nèi)容都會(huì)被解析器忽略。
如果文本包含了很多的"<"字符 <=和"&"字符——就象程序代碼一樣,那么最好把他們都放到CDATA部件中。
實(shí)例:
<select id="findList" resultType="FleeceRecord">
SELECT * FROM `fleece_record`
<where>
<if test="naturalLengthStart != null">
and natural_length<![CDATA[>=]]>#{naturalLengthStart}
</if>
<if test="naturalLengthEnd != null">
and natural_length<![CDATA[<=]]>#{naturalLengthEnd}
</if>
</where>
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
mybatis抽取基類BaseMapper增刪改查的實(shí)現(xiàn)
目前項(xiàng)目當(dāng)中使用mapper.xml文件方式對(duì)數(shù)據(jù)庫進(jìn)行操作,但是每個(gè)里邊都有增/刪/改/查,為了方便開發(fā),把這些公共的代碼提取出來,不用當(dāng)做基類,不用每個(gè)Mapper文件都寫了,本文就詳細(xì)的介紹一下實(shí)現(xiàn)方法2021-09-09
springboot實(shí)現(xiàn)用戶名查找用戶功能
本文主要介紹了springboot實(shí)現(xiàn)用戶名查找用戶功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
SpringBoot3各種配置的優(yōu)先級(jí)對(duì)比小結(jié)
SpringBoot3提供了多種配置來源以滿足不同場(chǎng)景下的需求,本文詳細(xì)介紹了SpringBoot3中的配置優(yōu)先級(jí)對(duì)比小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2024-12-12
如何基于Autowired對(duì)構(gòu)造函數(shù)進(jìn)行注釋
這篇文章主要介紹了如何基于Autowired對(duì)構(gòu)造函數(shù)進(jìn)行注釋,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
Java各種比較對(duì)象的方式的對(duì)比總結(jié)
比較對(duì)象是面向?qū)ο缶幊陶Z言的一個(gè)基本特征.在本教程中,我們將介紹Java語言的一些特性,這些特性允許我們比較對(duì)象.此外,我們還將研究外部庫中的這些特性,需要的朋友可以參考下2021-06-06
Java Socket編程服務(wù)器響應(yīng)客戶端實(shí)例代碼
這篇文章主要介紹了Java Socket編程服務(wù)器響應(yīng)客戶端實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2017-12-12
SpringCloud使用AOP統(tǒng)一處理Web請(qǐng)求日志實(shí)現(xiàn)步驟
這篇文章主要為大家介紹了SpringCloud使用AOP統(tǒng)一處理Web請(qǐng)求日志實(shí)現(xiàn)步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08

