mybatis
- xml常见的转义符:
| 转义字符 | 符号 | 含义 | |
|---|---|---|---|
< | < | 小于号 | |
> | > | 大于号 | |
& | & | 和 | |
' | ' | 单引号 | |
" | " | 双引号 |
- 为什么需要使用XML转义符?
XML解析器会将某些字符视为标记的一部分,例如 < 和 &。如果直接在文本中使用这些字符,可能会导致解析错误。例如:
xml
<example>
<text>1 < 2</text>
<text>1 & 2</text>
</example>在上面的例子中,解析器会认为 < 和 & 是标记的一部分,而不是文本的一部分。为了解决这个问题,可以使用XML转义符来转义这些字符。
xml
<example>
<text>1 < 2</text>
<text>1 & 2</text>
</example>- 使用CDATA段避免频繁转义
如果文本中包含大量特殊字符,频繁使用转义符会降低代码的可读性。此时,可以使用CDATA段来包裹文本内容。CDATA段中的内容会被解析器忽略,不会被解析为XML标记
CDATA段语法
xml
<![CDATA[文本内容]]>例如:
xml
<example>
<text><![CDATA[这是一个包含特殊字符 < > & ' " 的文本]]></text>
</example>- MyBatis中的SQL语句
使用转义符
xml
<select id="findUsers" resultType="User">
SELECT * FROM users WHERE age < 30 AND name > 'John'
</select>使用CDATA段
xml
<select id="findUsers" resultType="User">
<![CDATA[
SELECT * FROM users WHERE age < 30 AND name > 'John'
]]>
</select>