在mybatis 的mapper.xml文件中特殊字符处理方式  仅供参考

出处:http://yaobenzhang.blog.163.com/blog/static/214395113201561523017861/

1,CDATA区:

它的全称为character data,以"<![CDATA[ "开始,以" ]]>" 结束,在两者之间嵌入不想被解析程序解析的原始数据,解析器不对CDATA区中的内容进行解析,而是将这些数据原封不动地交给下游程序处理。

2,特殊字符 :

xml 中表示:   <= 小于等于、    >= 大于等于 需加  这样的标记:     <![CDATA[   ]]>      xml中有&的符号,需要<![CDATA[&]]>这样表示&

<= 小于等于 :<![CDATA[   <=  ]]>

>= 大于等于:<![CDATA[  >=  ]]>

3,一些特殊字符也可用下面的替代符号所代替。

特殊字符   替代符号

   &            &amp;

     <            &lt;

     >            &gt;

     "             &quot;

     '              &apos;

查询时,需要获取某一时间区间内的数据:

<if test="startTime!=null">
and t.createTime>#{startTime}
</if>
<if test="endTime!=null">
and t.createTime<#{endTime}
</if>

但是在mybatis的xml文件中小于号是一个开始标签,这时候小于号会被识别为特殊字符。

解决方案:

使用CDATA包括起来,就能避免特殊字符了。这方法适用所有的特殊字符。

<![CDATA[ 

]]>

使用的案例:

<if test="startTime != null" >
<![CDATA[
and t.createTime > #{startTime}
]]>
</if>
<if test="endTime != null" >
<![CDATA[
and t.createTime < #{endTime}
]]>
</if>

mybatis特殊字符处理的更多相关文章

  1. Mybatis特殊字符处理,Mybatis中xml文件特殊字符的处理

    Mybatis特殊字符处理,Mybatis中xml文件特殊字符的处理 >>>>>>>>>>>>>>>>& ...

  2. MyBatis特殊字符转义

    使用mybatis的时候,特殊字符,例如<,>,<>,..... 需使用以下进行转义 < < 小于号 > > 大于号 & & 与 &am ...

  3. MyBatis 特殊字符处理

    http://blog.csdn.net/zheng0518/article/details/10449549

  4. MyBatis Plus之like模糊查询中包含有特殊字符(_、\、%)

    传统的解决思路:自定义一个拦截器,当有模糊查询时,模糊查询的关键字中包含有上述特殊字符时,在该特殊字符前添加\进行转义处理. 新的解决思路:将like 替换为 MySQL内置函数locate函数 参考 ...

  5. mybatis转义反斜杠_MyBatis Plus like模糊查询特殊字符_、\、%

    在MyBatis Plus中,使用like查询特殊字符_,\,%时会出现以下情况: 1.查询下划线_,sql语句会变为"%_%",会导致返回所有结果.在MySQL中下划线" ...

  6. 【Mybatis】【2】处理大于号小于号及其他特殊字符

    正文: 问题:用<的时候会报错.因为是xml文件,会被识别成标签 解决方法: 原sql:SELECT * FROM TABLE T WHERE T.AGE < 10; 1,转义字符.用转义 ...

  7. MyBatis入门3_mapper.xml优化(parameterType简写_NameSpace简写_sql片段_特殊字符处理)_动态SQL

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 优化 1.起别名(一般不用,写全方便查看类出处) 以前 ...

  8. mybatis的mapper特殊字符转移以及动态SQL条件查询

    前言 我们知道在项目开发中之前使用数据库查询,都是基于jdbc,进行连接查询,然后是高级一点jdbcTemplate进行查询,但是我们发现还是不是很方便,有大量重复sql语句,与代码偶合,效率低下,于 ...

  9. Mybatis映射文件处理特殊字符【转发】

    该博文下的方法就非常好了! http://blog.csdn.net/zheng0518/article/details/10449549

随机推荐

  1. .Net Core+mySqlSugar的一些稍复杂操作

    介绍一些我尝试的mysqlSugar的数据库操作 修改密码 var status = db.Update<Users>(new { password = user.password }, ...

  2. Vue汇总(搬砖)

    掘金: https://juejin.im/ Element: http://element-cn.eleme.io/#/zh-CN 验证码GEETEST---极验 : https://docs.ge ...

  3. HDevEngine in .NET Applications MultiThreading

    Basics To use HDevEngine in Visual Studio .NET, you must add a reference to the HALCON/.NET assembly ...

  4. System Center Configuration Manager 2016 域准备篇(Part2)

    对于" 服务器角色",请选择" Active Directory域服务",当系统提示您添加Active Directory域服务所需的功能时,请选择" ...

  5. Python之自定义封装一个简单的Log类

    参考:http://www.jb51.net/article/42626.htm 参考:http://blog.csdn.net/u011541946/article/details/70198676 ...

  6. UVA 12169 Disgruntled Judge(Extended_Euclid)

    用扩展欧几里德Extended_Euclid解线性模方程,思路在注释里面了. 注意数据范围不要爆int了. /********************************************* ...

  7. sql注入问题 java中将MySQL的数据库验证秘密加上 ' or '1'= '1 就可以出现万能密码

    password的字符串中,加上 ' or '1'= '1 就可以制作出万能密码. 原因如下: 原代码中密码是123456 执行数据库查询语句 实际上执行的SQL语句是: select * from ...

  8. oc block排序

    NSArray *sortArr=[arr sortedArrayUsingSelector:@selector(compareWithClassAndName:)]; //数组排序--block N ...

  9. Jquery的简单API

    dsfsdjgsdjgsdjkg <script>console.log('erftwet')</script>

  10. 2018.11.7 Nescafe29 T1 穿越七色虹

    题目 题目背景 在 Nescafe27 和 28 中,讲述了一支探险队前往 Nescafe 之塔探险的故事…… 当两位探险队员以最快的时间把礼物放到每个木箱里之后,精灵们变身为一缕缕金带似的光,簇簇光 ...