*.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. swagger 兼容 docker 转发 配置

    app.UseSwagger(c => { c.PreSerializeFilters.Add((swagger, httpReq) => { string swagger_index_u ...

  2. cerebro简单使用 , ES界面化工具 , 网页查看 , 操作索引

    下载安装 下载地址 https://github.com/lmenezes/cerebro/releases 解压即用 , 目录中不能有空格和中文 需要jdk11及以上(实际我本机只有jdk8也能用) ...

  3. remove blank line

    [$ cat all.experiments.csv.clean|sed -r '/^\s*$/d' > all.experiments.csv.clean2

  4. 无法将类 org.example.sh.utils.PageInfo<T>中的构造器 PageInfo应用到给定类型;

    是因为没有在工具类中加入构造器, @Data @NoArgsConstructor @AllArgsConstructor @ToString

  5. MobaXterm注册认证版,亲测可用,操作简单(本机已安装python3环境)

    去github地址下下载代码 解压后在该目录下打开CMD 执行MobaXterm-Keygen.py <UserName> <Version>命令 生成的文件放在安装目录下,我 ...

  6. Codeforces Round #803 (Div. 2) A-D 刚vp完还没补题

    Codeforces Round #803 (Div. 2) 2022/7/24 上午VP 传送门:https://codeforces.com/contest/1698 A. XOR Mixup 随 ...

  7. SimpleITK和nibable读取nii文件

    import SimpleITK as sitk path = 'nii全路径' nii_obj = sitk.GetArrayFromImage(sitk.ReadImage(path)) #sha ...

  8. TCP通信聊天服务端和客户端(C/C++语言开发)附完整源码

    距离上次学Python写的Python实现简单聊天室已经过去好久了,现在学c++又写了一遍,其实过程差不多,无非是语法的变化,目前仅实现最简单的一对一的通信,然后改就是了,接下来应该是多线程了,话不多 ...

  9. uniapp微信小程序解析详情页的四种方法

    一.用微信文档提供的RICH-TEXT 官方文档:微信文档rich-text 这种是直接使用: <!-->content是API获取的html代码</--> <rich- ...

  10. SpringBoot工程入门case

    SpringBoot的设计目的是用来简化Spring应用的初始搭建以及开发过程. SpringBoot入门案例: 1.创建一个新module 2.除pom和src文件剩余都删除. 3.在src.com ...