欢迎来到淼淼之森的博客小站。  交流请加我微信好友: studyjava。  也欢迎关注同名公众号:Java学习之道

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

  |   0 评论   |   0 浏览

*.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[ ]]> 这种格式时,会把方块中的内容直接输出,不做任何的解析转义

| 字符名称       |  sql符号	|  	转义字符		  |
|---------------|---------------| ------------------------|
|大于号		|	>	|	`<![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[]]> ,因为我记不住那个转义的意思

标题:【mybatis】xml 大于|小于|等于 写法及介绍
作者:mmzsblog
地址:https://www.mmzsblog.cn/articles/2023/12/14/1702545692443.html

如未加特殊说明,文章均为原创,转载必须注明出处。均采用CC BY-SA 4.0 协议

本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。若本站转载文章遗漏了原文链接,请及时告知,我们将做删除处理!文章观点不代表本网站立场,如需处理请联系首页客服。
• 网站转载须在文章起始位置标注作者及原文连接,否则保留追究法律责任的权利。
• 公众号转载请联系网站首页的微信号申请白名单!

个人微信公众号 ↓↓↓                 

微信搜一搜 Java 学习之道