使用xml 原生转义的方式进行转义#
字符名称 | sql符号 | 转义字符 |
---|---|---|
大于号 | > | > |
小于号 | < | < |
不等于 | <> | <> |
大于等于号 | >= | >= |
小于等于号 | <= | <= |
与 | & | & |
单引号 | ’ | ' |
双引号 | " | " |
简单代码示例:
sql语句#
select * from user where `age` <= 10
xml 语句
<select id="getUser" resultType="userInfo">
select * from user
where `age` <= #{age}
</select>
写法注意
- 转义字符 之前不能有空格,例如:
& gt;
或者&g t;
都是错误的 - 转义字符 必须以
;
结尾 - 转义字符 是区分大小写的
- 单独出现的
&
不会被认为是转义的开始 - 转义字符 中是没有
=
所以 大于等于 在写的时候,=直接拼接在转义字符结尾的后面
使用 <![CDATA[ 内容 ]]>
在 xml 格式中,当遇到<![CDATA[ ]]>
这种格式时,会把方块中的内容直接输出,不做任何的解析转义
字符名称 | 字符串符号 | 示例代码 |
---|---|---|
大于号 | > | <![CDATA[ > ]]> |
小于号 | < | <![CDATA[ < ]]> |
不等于 | <> | <![CDATA[ <> ]]> |
大于等于号 | >= | <![CDATA[ >= ]]> |
小于等于号 | <= | <![CDATA[ <= ]]> |
简单代码示例
sql语句#
select * from user where `age` <= 10
xml 语句
<select id="getUser" resultType="userInfo">
select * from user
where `age` <![CDATA[ <= ]]> #{age}
</select>
<select id="getUser" resultType="userInfo">
select * from user
<![CDATA[ where `age` <= #{age} ]]>
</select>
写法注意
<![CDATA[ 内容 ]]>
中的内容 部分,不能再包含 <![CDATA[]]> ,也不能嵌套使用<![CDATA[]]>
是一个整体,处理放置内容文本的部分之外,不能出现 空格 或者 换行
两种方法对比
<![CDATA[]]>
比 转义符 来的繁琐<![CDATA[]]>
表示xml解析器忽略解析,相对比速度会比较快- 个人比较喜欢使用
<![CDATA[]]>
,因为我记不住那个转义的意思