mybatis 中的<![CDATA[ ]]>用法及說明

<![CDATA[ ]]>作用

<![CDATA[ ]]> 在mybatis、ibatis等書寫SQL的xml中比較常見,是一種XML語法,他的作用是 可以忽略xml的轉義(在該標簽中的語句和字符原本是什么樣的,在拼接成SQL后還是什么樣的)

使用:
select * from user?
?? ?where isDeleted = 0?
?? ?<if test=" age != 0 ">
?? ??? ?<![CDATA[ and ?age < 18 ]]>
?? ?</if>
如上SQL :遇到 < 特殊字符需要轉義為 &lt;,因為有的特殊字符xml不識別,會直接報異常,因此會使用到 <![CDATA[ ]]> ,由它包裹的SQL和特殊字符將忽略轉義,最后拼接為SQL語句select * from user where isDeleted = 0 and age < 18
?

注意:
?? ?1.使用動態SQL時要像if、foreach、where等標簽一但被 <![CDATA[ ]]>標簽包裹,將忽略xml的解析并出錯
?? ?2.<![CDATA[ ]]>標簽中不可嵌套<![CDATA[ ]]>標簽
?? ?3.<![CDATA[ ]]>盡量縮小范圍,以免出錯
?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/36454.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/36454.shtml
英文地址,請注明出處:http://en.pswp.cn/news/36454.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

代碼生成模型任務設計

背景&#xff1a; 模型應該具備&#xff0c;理解代碼的能力、知道代碼規則的能力、知道關鍵詞和變量的能力、知道代碼邏輯的能力、文本到代碼翻譯能力、代碼關聯能力、代碼續寫能力。 代碼理解能力&#xff1a;pretrain讓模型讀足夠多代碼、記住代碼一些規則、代碼問答、基于…

PHP codeigniter4 搭配Nginx

> 主要是為了用Nginx運行PHP環境 1. Nginx 官方文檔的配置 default.conf? This configuration enables URLs without “index.php” in them and using CodeIgniter’s “404 - File Not Found” for URLs ending with “.php”. server {listen 80;listen [::]:80;se…

springboot 基礎

鞏固基礎&#xff0c;砥礪前行 。 只有不斷重復&#xff0c;才能做到超越自己。 能堅持把簡單的事情做到極致&#xff0c;也是不容易的。 SpringBoot JavaEE 簡介 JavaEE的局限性&#xff1a; 1、過于復雜&#xff0c;JavaEE正對的是復雜的分布式企業應用&#xff0c;然而現實…

MySQL表的基礎的增刪改查

增(insert into) 插入所有列的數據 不寫具體列名要確保字段都對應正確 -- 假設你有一個名為 "employees" 的表&#xff0c;有多個列 INSERT INTO employees VALUES (101, Alice, Manager, 50000);插入指定列的數據 -- 假設你有一個名為 "students" 的表&…

爬蟲如何應對網站的反爬機制?如何查找user-agent對應的值

import requestsurl https://movie.douban.com/top250 response requests.get(url) # 查看結果 print(response)在requests使用一文中我們有講到&#xff0c;當狀態碼不是200時表示爬蟲不可用&#xff0c;也就是說我們獲取不到網頁源代碼。但是我們還是可以掙扎一下&#xff…

一文秒懂HTTP協議到底是什么?原理?

目錄 1.什么是http協議&#xff1f; 2.http協議的版本&#xff1f; 3.http文本框架 4.http請求報文 5.http報文格式 6.http響應報文 7.HTTP的狀態碼 8.HTTP首部介紹 9.什么是URL和URI&#xff1f; 10.CGI是什么&#xff1f; 1.什么是http協議&#xff1f; http&#…

測試架構師如何落地性能測試方案(一)

背景描述&#xff1a; 最近剛接手一個新項目&#xff0c;在最開始的時候要求對這個項目做性能測試&#xff0c;產品經理也給不出性能需求&#xff0c;只因為這個項目是電商項目&#xff0c;可能會有高并發&#xff0c;秒殺的場景&#xff0c;所以產品經理要求我們對這個項目必…

vue3父子組件傳值;vue3子組件傳值給父組件;vue3子組件監聽父組件接口傳值;父子組件事件調用

代碼在文末&#xff0c;均可直接復制使用 本文主要描述&#xff0c;父子組件傳值、調用等問題 文章目錄 問題1&#xff1a;子組件接收不到父組件傳值問題2&#xff1a;子組件接受的值&#xff0c;修改后&#xff0c;發現父組件值也改變了問題3&#xff1a;子組件接受值&#xf…

07-HDFS入門及shell命令

1 文件系統 是一種存儲和組織數據的方法&#xff0c;它使得文件訪問和查詢變得容易使得文件和樹形目錄的抽象邏輯概念代替了磁盤等物理設備使用數據塊的概念&#xff0c;用戶使用文件系統來保存數據不必關心數據底層存在硬盤哪里&#xff0c;只需記住這個文件的所屬目錄和文件…

STM32基于CubeIDE和HAL庫 基礎入門學習筆記:物聯網項目開發流程和思路

文章目錄&#xff1a; 第一部分&#xff1a;項目開始前的計劃與準備 1.項目策劃和開發規范 1.1 項目要求文檔 1.2 技術實現文檔 1.3 開發規范 2.創建項目工程與日志 第二部分&#xff1a;調通硬件電路與驅動程序 第三部分&#xff1a;編寫最基礎的應用程序 第四部分&…

opencv帶GStreamer之Windows編譯

目錄 1、下載GStreamer和安裝2. GSTReamer CMake配置3. 驗證是否配置成功 1、下載GStreamer和安裝 下載地址如下&#xff1a; gstreamer-1.0-msvc-x86_64-1.18.2.msi gstreamer-1.0-devel-msvc-x86_64-1.18.2.msi 安裝目錄無要求&#xff0c;主要是安裝完設置環境變量 xxx\1…

【css】漸變

漸變是設置一種顏色或者多種顏色之間的過度變化。 兩種漸變類型&#xff1a; 線性漸變&#xff08;向下/向上/向左/向右/對角線&#xff09; 徑向漸變&#xff08;由其中心定義&#xff09; 1、線性漸變 語法&#xff1a;background-image: linear-gradient(direction, co…

一圖搞懂二層交換機、三層交換機和路由器的區別

二層交換機、三層交換機、路由器的區別 二層交換機、三層交換機、路由器對比二層交換機三層交換機路由器工作在第幾層數據鏈路層&#xff08;第二層&#xff09;網絡層&#xff08;第三層&#xff09;網絡層&#xff08;第三層&#xff09;功能學習和轉發幀根據IP地址轉發數據…

數據鏈路層是什么?

數據鏈路層承接上層的數據&#xff0c;然后使用下層提供的信道&#xff0c;按照一定的規則&#xff0c;進行數據傳輸。 物理層提供了傳輸媒體與連接&#xff08;信道&#xff09;&#xff08;數據鏈路層使用的信道通常是物理層提供的信道&#xff09;&#xff0c;即提供了比特…

webpack自動注冊全局組件

例如&#xff0c;在form文件夾下有許多流程類表單&#xff0c;一個一個注冊引入非常浪費時間&#xff0c;可使用webpack的require.context方法來自動導入 import { firstToUpper } from /utils/methodsconst taskTable {install: vue > {const req require.context(../fo…

springboot結合element-ui實現增刪改查,附前端完整代碼

實現功能 前端完整代碼 后端接口 登錄&#xff0c;注冊&#xff0c;查詢所有用戶&#xff0c;根據用戶名模糊查詢&#xff0c;添加用戶&#xff0c;更新用戶&#xff0c;刪除用戶 前端 注冊&#xff0c;登錄&#xff0c;退出&#xff0c;用戶增刪改查&#xff0c;導航欄&#…

Android Sutdio 導入libs文件夾下的jar包沒反應

有點離譜&#xff0c;笨笨的腦子才犯的錯誤 首先發現問題&#xff1a;轉移項目的時候 直接復制粘貼libs文件夾下的jar包到新項目&#xff0c;在build.gradle文件下 使用語句并應用也沒反應&#xff08;jar包沒有出現箭頭且代碼報錯&#xff0c;找不到&#xff09; implementa…

什么樣的 PLC 可以算是高端 PLC?

針對問題本身&#xff0c;有的回答里都提到了。可靠性&#xff0c;掃描時間&#xff0c;帶離散量點數&#xff0c;帶模擬量輸出點數&#xff0c;擴展性&#xff0c;這些都可以看作PLC系統級別劃分的依據。比如說&#xff0c;有相應安全完整性等級認證的LOGIC SOLVER為核心的PLC…

SpringBoot復習:(37)自定義ErrorController

所有接口統一返回的數據格式 package cn.edu.tju.domain;public class MyResponse {private int code;private String message;private String exception;private String stack;public int getCode() {return code;}public void setCode(int code) {this.code code;}public S…

五個獨特且有趣的ChatGPT指令

今天分享5個很實用的指令&#xff0c;這幾個指令很多時候對我們輸出內容的連貫性、文章風格、創意性等方面有著決定性的作用。 目錄 第一個&#xff1a;Max tokens&#xff08;最大令牌&#xff09; 第二個&#xff1a;Top_p(控制采樣) 第三個&#xff1a;Presence_penalty …