mybatis xml 中的 大于、小于、等于
在*.xml
中使用常规的<
>
=
<=
>=
会与xml的语法存在冲突
方法一:使用xml 原生转义的方式进行转义
简单代码示例:
sql语句
select * from user where `age` <= 10
xml 语句
<select id="getUser" resultType="userInfo">select * from user where `age` <= #{age}</select>
写法注意
转义字符 之前不能有空格,例如:& gt;
或者&g t;
都是错误的转义字符 必须以;
结尾转义字符 是区分大小写的单独出现的&
不会被认为是转义的开始转义字符 中是没有=
所以 大于等于 在写的时候,=
直接拼接在转义字符结尾的后面注意【MarkDown】小知识
以上转义符号在 【MarkDown】 中也同样试用会被转义,在【MarkDown】文档中想要保留展示这些转移符号,需要在转义符前面写上一个 '\',例如:\>
方法二:使用 <![CDATA[ 内容 ]]>
在 xml 格式中,当遇到 <![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[]]>
,因为我记不住那个转义的意思 😁