*.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 admin
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 admin
where `age` <![CDATA[ <= ]]> #{age}
</select>
<select id="getUser"  resultType="userInfo">
select * from admin
<![CDATA[ where `age` <= #{age} ]]>
</select>

写法注意

  • <![CDATA[ 内容 ]]> 中的内容 部分,不能再包含 <![CDATA[]]> ,也不能嵌套使用
  • <![CDATA[]]> 是一个整体,处理放置内容文本的部分之外,不能出现 空格 或者 换行

两种方法对比

  • <![CDATA[]]>转义符 来的繁琐
  • <![CDATA[]]> 表示xml解析器忽略解析,相对比速度会比较快
  • 个人比较喜欢使用 <![CDATA[]]> ,因为我记不住那个转义的意思

mybatis xml 中 大于、小于、等于 写法的更多相关文章

  1. mybatis xml中大于号小于号的代替

    第一种写法(1): 原符号 < <= > >= & ' "替换符号 < <= > >= & &apos; " ...

  2. SpringMvc+mybatis mybatis在xml文件中大于小于号处理

    方法一:转移字符 用了转义字符把>和<替换掉,然后就没有问题了. SELECT * FROM test WHERE = AND start_date <= CURRENT_DATE ...

  3. sql中大于等于小于的写法

    由于在mybatis框架的xml中<= , >=解析会出现问题,编译报错,所以需要转译第一种写法: 原符号 < <= > >= & ' "替换符号 ...

  4. mybatis xml中是sql语句报错: Error creating document instance. Cause: org.xml.sax.SAXParseException: The

    最近项目折腾了老半天,找了资料才知道是这么回事... 因为语句中有一个小于号“<”,在XML中,会被当成一个页面元素来解析,不会处理为mysql的SQL语句的组成部分,修改如下: 1.在xml的 ...

  5. mybatis xml中的大于、小于等符号写法

    xml特殊符号转义写法 <          < >          > <>   <> &      & &apos;   ...

  6. mybatis xml中不能直接用大于号、小于号要用转义字符

    2.使用 <![CDATA[ ]]>标记

  7. mybatis在XML中大于号转义字符

    mybatis在编写sql时不能在XML里直接使用‘<’ 或者是 ‘>’ 在这里需要使用转义字符替换 下面列举常用的xml转义对应: * <           <       ...

  8. mybatis中大于等于小于的写法

    第一种写法(1): 原符号 < <= > >= & ' "替换符号 < <= > >= & &apos; " ...

  9. mybatis XML中 遍历map写法

    <select id="selectMapTest" parameterType="java.util.HashMap" resultMap=" ...

  10. mybatis xml 中的特殊符转义字符号和模糊查询

    xml特殊符号转义写法 < < 小于 <= <= 小于或等于 > > 大于 >= >= 大于或等于 <> <> 不等于 & ...

随机推荐

  1. 狂神的学习笔记demo0607

    Ctrl+D 复制此行到下一行 sout   快捷打出System.out.println(); 修饰符 static 静态的 finalf 常量 变量的命名规范 见名知意 类成员变量:首字母小写和驼 ...

  2. 任意的形如 z = F(x,y)的曲面生成与显示---基于OpenGL Core Profile

    运行结果:   (圆锥面) (抛物面) (马鞍面) 其中的做法是:从顶部看上去就是一个平面网格.每个点的 z.x的位置都是程序细分出来的(指定起始.结束.步长).比较固定.但高度 y 的计算使用 用户 ...

  3. python求列表中某个值第一次出现的位置

    x=[2,1,1] print(x.index(1)) 结果为1

  4. 财开心批量处理系统V4.0

    前言 上次分析了亿企代账对他的发票提取有很大兴趣,同时下载了几大财务厂商提供的发票提取,很多都是采用的这个,如云账房销项提取插件还有本次研究的财开心批量处理系统 分析 demo 直接用亿企代账分析的代 ...

  5. Qt打包win应用的流程(转载)

    基本就是命令:windeployqt  目标文件.exe 一定要新开一个文件夹再执行这个命令. 参考网站: https://blog.csdn.net/weixin_39504048/article/ ...

  6. fatal: unable to access ' ' OpenSSL SSL_read: Connection was reset, errno 10054

    描述: git clone ...时报错 fatal: unable to access 'https://github.com/github-eliviate/papers.git/': OpenS ...

  7. 文件上传靶场 upload-labs搭建 Pass 1-4

    upload-labs是一个练习文件上传的靶场 我们需要先安装中间件和PHP,推荐使用小皮面板,如何安装使用见sqli-labs搭建前部分 upload-labs下载:https://gitcode. ...

  8. Xenomai 再探

    一.Xenomai API 接口使用总结 Alarm-操作: 在使用实时任务过程中,采用看门狗定时器进行延时操作时,会产生实时域到非实时域的上下文切换操作,从而导致实时线程实时性受到影响,具体如下: ...

  9. C++类的构造函数、析构函数、拷贝构造函数、赋值函数和移动构造函数详细总结

    目录 1. 五种函数介绍 2. 左值&右值怎么区分?怎么看? 3. 匿名对象的3种使用情况 4. 代码详细验证每个函数调用情况 4.1 测试 f_1 函数(函数形参测试 -- 值传递) 4.2 ...

  10. node.js介绍及简单例子

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...