【mybatis】xml 大于|小于|等于 写法及介绍

*.xml 中使用常规的 < > = <= >= 会与xml的语法存在冲突

方法一:使用xml 原生转义的方式进行转义#

字符名称 sql符号 转义字符
大于号 > &gt;
小于号 < &lt;
不等于 <> &lt;&gt;
大于等于号 >= &gt;=
小于等于号 <= &lt;=
& &amp;
单引号 ' &apos;
双引号 " &quot;

简单代码示例:#

sql语句#

select * from user where `age` <= 10

xml 语句#

<select id="getUser"  resultType="userInfo">
    select * from user 
        where `age`  &lt;= #{age}
</select>

写法注意#

  • 转义字符 之前不能有空格,例如:& gt; 或者 &g t; 都是错误的
  • 转义字符 必须以; 结尾
  • 转义字符 是区分大小写的
  • 单独出现的&不会被认为是转义的开始
  • 转义字符 中是没有 = 所以 大于等于 在写的时候,=直接拼接在转义字符结尾的后面

注意【MarkDown】小知识#

以上转义符号在 【MarkDown】 中也同样试用会被转义,在【MarkDown】文档中想要保留展示这些转移符号,需要在转义符前面写上一个 '\',例如:\&gt;

方法二:使用 <![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[]]> ,因为我记不住那个转义的意思

作者:yiyang

出处:https://www.cnblogs.com/yangyanrui/p/mybatis-xml-zhong-de-da-yu-xiao-yu-deng-yu.html

版权:本作品采用「杨延瑞-非商业性使用」许可协议进行许可。

博客皮肤出自:https://esofar.github.io/cnblogs-theme-silence/
🇨🇳文章若有不对之处,还望评论指点讨论,谢谢~

❤︎❤︎❤︎如果觉得文章对你有所帮助,请帮我点个赞吧 (๑•̀ㅂ•́)و✧
⚠︎⚠︎⚠︎原创文章,转载请标明出处

posted @   yīyáng  阅读(20962)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示