`

MyBatis SQL xml处理小于号与大于号

 
阅读更多

当我们需要通过xml格式处理sql语句时,经常会用到<=>>=等符号,但是很容易引起xml格式的错误,这样会导致后台将xml字符串转换为xml文档时报错,从而导致程序错误。

这样的问题在iBatiS中或者自定义的xml处理sql的程序中经常需要我们来处理。其实很简单,我们只需作如下替换即可避免上述的错误:

原符号   <    <=    >    >=     &      '       "
替换符号 &lt; &lt;= &gt; &gt;= &amp; &apos; &quot;

 

错误的xml格式:

 

[html] view plaincopy
 
  1. <?xml version="1.0" encoding="GBK"?>  
  2. <queryForm token="32sdfj-349sfdnfs32-fsdf348imfg323-df34" tableName="HSY_T_CUSTOMER" pageSize="20" pageNo="1" orderColumn="" orderType="">  
  3.   <sqlCondition> AND START_DATE >= to_date('2013-01-01','yyyy-MM-dd') AND START_DATE <= to_date('2013-01-30','yyyy-MM-dd') </sqlCondition>  
  4. </queryForm>  

 

在altova XMLSpy工具中会报错,xml不符合格式要求。

 

 

正确的xml格式:

 

[html] view plaincopy
 
  1. <?xml version="1.0" encoding="GBK"?>  
  2. <queryForm token="32sdfj-349sfdnfs32-fsdf348imfg323-df34" tableName="HSY_T_CUSTOMER" pageSize="20" pageNo="1" orderColumn="" orderType="">  
  3.   <sqlCondition> AND START_DATE &gt;= to_date('2013-01-01','yyyy-MM-dd') AND START_DATE &lt;= to_date('2013-01-30','yyyy-MM-dd') </sqlCondition>  
  4. </queryForm>  

在altova XMLSpy工具中验证通过。

分享到:
评论

相关推荐

    MyBatis SQL xml处理小于号与大于号正确的格式

    当我们需要通过xml格式处理sql语句时,经常会用到&lt; ,&lt;=,&gt;,&gt;=等符号,但是很容易引起xml格式的错误,这样会导致后台将xml字符串转换为xml文档时报错,从而导致程序错误。 这样的问题在iBatiS中或者自定义的...

    Mybatis在Mapper.xml文件中的转义字符处理方式.pdf

    例如,要在Mapper.xml文件中写入一段包含大于号的SQL语句,可以直接使用CDATA来避免转义: ```xml &lt;![CDATA[ SELECT *, Date(expire_date) - current_date as expireDays FROM tb_insurance ]]&gt; ``` 3. 应用...

    mybatis xml中特殊字符处理及特殊符号

    1. `(小于号):在XML中应写作 `&lt;` 2. `&gt;` (大于号):在XML中应写作 `&gt;` 3. `&` (和号):在XML中应写作 `&amp;` 4. `"` (双引号):在XML中应写作 `&quot;` 5. `'` (单引号):在XML中应写作 `&apos;` 当这些...

    简述mybatis大于小于的转义

    首先,让我们关注问题的核心:在MyBatis的XML映射文件中,当你直接使用小于号(&lt;)或大于号(&gt;)时,XML解析器可能会将其误识别为XML标签的开始或结束,导致解析错误。例如,在一个SQL查询中,如果你写 `p.pool_year...

    MyBatis 需要注意的地方junit注解

    3.xml中的小于号:$lt;大于号¥&gt; 4.取变量时,如果dao层接口使用的是@param("别名")注解,则根据别名取值 5.mapper.xml中$和#取值的区别 4.mybatis的xml中如何设置返回值 resultType返回的数据类型 5.$和#区别 1....

    Mybatis特殊字符处理的详解

    在编写Mybatis的XML映射文件时,如果SQL查询语句中包含了一些XML的特殊字符,比如小于号 `、大于号 `&gt;`、和与号 `&` 等,XML解析器会把这些字符当作XML标签的一部分,而不是作为文本内容。例如,在上述例子中,我们...

    Mybatis_day2.pdf

    XML文件中,大于号(&gt;)、小于号(&lt;)和其他特殊字符需要进行转义,如用`&gt;`代替`&gt;`,`代替`。 6. MyBatis中的别名: 为了简化开发,MyBatis允许为实体类声明别名。这使得在映射文件中可以直接使用别名,而不是...

    SpringBoot集成MyBatis-Plus例子

    除了基本的CRUD操作,MyBatis-Plus还提供了丰富的查询条件构造器,如`eq`(等于)、`ne`(不等于)、`gt`(大于)、`lt`(小于)等,以及分页、排序、联表查询等功能。这些功能使得开发者可以灵活地构造复杂的查询...

    mybatis报错元素内容必须由格式正确的字符数据或标记组成异常的解决办法

    当我们在MyBatis的XML映射文件中编写动态SQL时,如果直接使用小于号 `和大于号 `&gt;`,XML解析器会尝试将其解释为标签。例如,以下代码会导致解析错误: ```xml select * from some_table where status ``` 在...

    优雅高效的MyBatis.docx

    例如,可以使用 `eq`(等于),`ne`(不等于),`like`(模糊匹配),`gt`(大于),`lt`(小于)等方法来构建 WHERE 子句。 总的来说,MyBatis-Plus 提供了一套全面的解决方案,包括代码生成器、便捷的 CRUD 操作...

    springmvc4配置防止XSS攻击的方法

    核心清理函数是cleanXSS(),它使用正则表达式将参数值中的常见XSS攻击字符串进行转义,比如将小于号(&lt;)和大于号(&gt;)分别转义为&lt;和&gt;。 为了实现对所有请求的过滤,需要在Spring MVC的配置文件中配置自定义的...

    MyBatisPlus条件构造器带条件删除delete使用示例代码

    MyBatisPlus是一款基于MyBatis的扩展工具,在简化MyBatis操作的同时,提供了更为强大的功能,其中包括条件构造器,使得动态SQL的编写更加简洁、高效。本示例主要讲解如何利用MyBatisPlus的条件构造器进行带条件的...

Global site tag (gtag.js) - Google Analytics