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

Mybatis XML文件中使用CDATA標(biāo)簽的實(shí)現(xiàn)

 更新時間:2026年03月08日 09:23:54   作者:小恒恒  
本文主要介紹了Mybatis XML文件中使用CDATA標(biāo)簽,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

0.背景

當(dāng)下,使用MybatisXML文件書寫復(fù)雜SQL,依然是一種主流的選擇。那么,我們在書寫SQL語句時,要時刻提醒自己,自己正在書寫一個XML文件,XML文件對于一些特殊字符,是會進(jìn)行解析的。就比如< >。

1.使用<![CDATA[]]>

CDATA,意為 character data,是標(biāo)記語言SGML與XML,表示文檔的特定部分是普通的字符數(shù)據(jù),而不是非字符數(shù)據(jù)或有特定、限定結(jié)構(gòu)的字符數(shù)據(jù)。

我們舉個例子:

            <if test="startTimeLong!=null"><![CDATA[
                and happen_time > #{startTimeLong}
            ]]></if>

這種方法很好,只是,我們需要手動敲入這個標(biāo)簽嗎?不用的,我們就正常寫語句,交給IDEA就可以了,當(dāng)我們敲完判斷條件后,按下Alt + Enter,就會彈出提示框,選擇Convert text to CData就可以了。

2.<![CDATA[]]>轉(zhuǎn)換成普通的text

通常情況下,我們使用這個標(biāo)簽就能搞定一些情況,但是對于部分人來講,他們會覺得混亂。那么轉(zhuǎn)換后的文本,再使用Convert CData to text 就可以了。

就可以得到我們想要的內(nèi)容:

            <if test="startTimeLong!=null">
                and happen_time > #{startTimeLong}
            </if>

當(dāng)然了,IDEA對于<支持得不好,所以沒有使用<來做演示,遇到<的情況還得手動移動一下]]到句子末尾。

3.XML文件中的特殊字符的寫法

特殊字符轉(zhuǎn)義字符
&&amp;
<&lt;
&gt;
"&quot;
&apos;

4.總結(jié)討論

如果你是在寫SQL,能夠使用<![CDATA[]]>,那是最好,大部分情況下你都不需要想,直接套就行。

若是自己輸出XML文件時,情況就不同了,比如:

CDATA節(jié)不能嵌套。如果文本中需要包含3字符序列]]>,需要用兩個相鄰的CDATA節(jié)表示它,如下例:

<![CDATA[]]]]><![CDATA[>]]>

故,在自己進(jìn)行XML文件輸出時,應(yīng)該拋棄此標(biāo)簽,避免一些奇怪的問題,而是使用字符串替換的方式,將特殊字符的轉(zhuǎn)義字符替換過來。

總結(jié)一下:

手寫文件CDATA,輸出文件用轉(zhuǎn)義!

到此這篇關(guān)于Mybatis XML文件中使用CDATA標(biāo)簽的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Mybatis使用CDATA標(biāo)簽內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot添加日志鏈TraceId方式

    SpringBoot添加日志鏈TraceId方式

    配置SpringBoot日志TraceId,利用MDC和攔截器注入traceid變量,通過logback-spring.xml設(shè)置,使%X{traceid}可獲取,提升問題排查效率
    2025-08-08
  • JAVA異常信息Exception?e及e的相關(guān)方法解讀

    JAVA異常信息Exception?e及e的相關(guān)方法解讀

    這篇文章主要介紹了JAVA異常信息Exception?e及e的相關(guān)方法解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 詳解Spring的autowire-candidate設(shè)計

    詳解Spring的autowire-candidate設(shè)計

    現(xiàn)在的Spring應(yīng)用通常都是基于注解開發(fā),但是對Spring感興趣的同學(xué)可以借助Spring早期基于Xml配置的各種運(yùn)用來加深對Spring框架內(nèi)部的理解和體會Spring框架的設(shè)計之妙。這篇文章我們就來談?wù)刋ml配置之default-autowire-candidates
    2021-06-06
  • Springboot實(shí)現(xiàn)驗(yàn)證碼登錄

    Springboot實(shí)現(xiàn)驗(yàn)證碼登錄

    這篇文章主要為大家詳細(xì)介紹了Springboot實(shí)現(xiàn)驗(yàn)證碼登錄,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 關(guān)于Integer.parseInt()方法的使用

    關(guān)于Integer.parseInt()方法的使用

    這篇文章主要介紹了關(guān)于Integer.parseInt()方法的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 一起來了解Java的File類和IO流

    一起來了解Java的File類和IO流

    這篇文章主要為大家詳細(xì)介紹了Java?File類和IO流,在Java學(xué)習(xí)中,file類與io流是非常重要的部分,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 深度剖析Java成員變量、局部變量和靜態(tài)變量的創(chuàng)建和回收時機(jī)

    深度剖析Java成員變量、局部變量和靜態(tài)變量的創(chuàng)建和回收時機(jī)

    這篇文章主要介紹了深度剖析Java成員變量、局部變量和靜態(tài)變量的創(chuàng)建和回收時機(jī),成員變量是定義在類中的變量,每個類的實(shí)例都會擁有自己的成員變量。它們的生命周期與對象的創(chuàng)建和銷毀相對應(yīng),下面我將詳細(xì)介紹它們的特點(diǎn)和生命周期,需要的朋友可以參考下
    2023-07-07
  • Spring筆記-@Order注解和Ordered接口解析

    Spring筆記-@Order注解和Ordered接口解析

    這篇文章主要介紹了Spring筆記-@Order注解和Ordered接口,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 詳解Spring Boot下Druid連接池的使用配置分析

    詳解Spring Boot下Druid連接池的使用配置分析

    本篇文章主要介紹了詳解Spring Boot下Druid連接池的使用配置分析,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 一文解讀java.nio.ByteBuffer

    一文解讀java.nio.ByteBuffer

    這篇文章主要介紹了java.nio.ByteBuffer的用法解讀,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論

永泰县| 武威市| 太原市| 称多县| 绍兴市| 玉门市| 蛟河市| 建始县| 化德县| 蒙阴县| 万荣县| 阳东县| 通河县| 遂溪县| 藁城市| 广灵县| 额济纳旗| 青海省| 滁州市| 鹤壁市| 华亭县| 谢通门县| 莱阳市| 平邑县| 宜宾市| 紫阳县| 东源县| 黔江区| 凉城县| 西贡区| 隆德县| 盐亭县| 舟山市| 资溪县| 澎湖县| 冷水江市| 万山特区| 留坝县| 察隅县| 余江县| 丽水市|