在 *.xml 中使用常規的 < > = <= >= 會與xml的語法存在沖突
方法一:使用xml 原生轉義的方式進行轉義
| 字符名稱 | sql符號 | 轉義字符 |
|---|---|---|
| 大于號 | > | > |
| 小于號 | < | < |
| 不等于 | <> | <> |
| 大于等于號 | >= | >= |
| 小于等于號 | <= | <= |
| 與 | & | & |
| 單引號 | ' | ' |
| 雙引號 | " | " |
簡單代碼示例:
sql陳述句
select * from user where `age` <= 10
xml 陳述句
<select id="getUser" resultType="userInfo">
select * from admin
where `age` <= #{age}
</select>
寫法注意
- 轉義字符 之前不能有空格,例如:
& gt;或者&g t;都是錯誤的 - 轉義字符 必須以
;結尾 - 轉義字符 是區分大小寫的
- 單獨出現的
&不會被認為是轉義的開始 - 轉義字符 中是沒有
=所以 大于等于 在寫的時候,=直接拼接在轉義字符結尾的后面
注意【MarkDown】小知識
以上轉義符號在 【MarkDown】 中也同樣試用會被轉義,在【MarkDown】檔案中想要保留展示這些轉移符號,需要在轉義符前面寫上一個 '\',例如:\>
方法二:使用 <![CDATA[ 內容 ]]>
在 xml 格式中,當遇到 <![CDATA[ ]]> 這種格式時,會把方塊中的內容直接輸出,不做任何的決議轉義
| 字符名稱 | 字串符號 | 示例代碼 |
|---|---|---|
| 大于號 | > | <![CDATA[ > ]]> |
| 小于號 | < | <![CDATA[ < ]]> |
| 不等于 | <> | <![CDATA[ <> ]]> |
| 大于等于號 | >= | <![CDATA[ >= ]]> |
| 小于等于號 | <= | <![CDATA[ <= ]]> |
簡單代碼示例:
sql陳述句
select * from user where `age` <= 10
xml 陳述句
<select id="getUser" resultType="userInfo">
select * from admin
where `age` <![CDATA[ <= ]]> #{age}
</select>
<select id="getUser" resultType="userInfo">
select * from admin
<![CDATA[ where `age` <= #{age} ]]>
</select>
寫法注意
- <![CDATA[ 內容 ]]> 中的
內容部分,不能再包含<![CDATA[]]>,也不能嵌套使用 <![CDATA[]]>是一個整體,處理放置內容文本的部分之外,不能出現空格或者換行
兩種方法對比
<![CDATA[]]>比轉義符來的繁瑣<![CDATA[]]>表示xml決議器忽略決議,相對比速度會比較快- 個人比較喜歡使用
<![CDATA[]]>,因為我記不住那個轉義的意思
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/551167.html
標籤:其他
下一篇:返回列表
