`
Java_Fan
  • 浏览: 81664 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

通过xml处理sql语句时对小于号与大于号的处理转换

 
阅读更多

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

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

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


错误的xml格式:

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

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



正确的xml格式:

<?xml version="1.0" encoding="GBK"?>
<queryForm token="32sdfj-349sfdnfs32-fsdf348imfg323-df34" tableName="HSY_T_CUSTOMER" pageSize="20" pageNo="1" orderColumn="" orderType="">
  <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>
</queryForm>
在altova XMLSpy工具中验证通过。

分享到:
评论

相关推荐

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

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

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

    通过这些案例,可以清晰地看到Mybatis在处理特殊字符和进行复杂SQL语句编写时的各种转义方法和技巧。开发者应灵活运用这些技术,确保SQL语句的正确性及可读性。总之,正确处理Mybatis在Mapper.xml文件中的转义字符,...

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

    因此,我们需要正确处理这些特殊字符以确保XML的有效性和SQL语句的正确性。 首先,我们来看如何处理XML中的特殊字符。在XML中,有四种常见的特殊字符需要转义: 1. `(小于号):在XML中应写作 `&lt;` 2. `&gt;` (大于...

    简述mybatis大于小于的转义

    在编程世界中,特别是在处理XML或SQL语句时,转义字符扮演着至关重要的角色。MyBatis,作为一个流行的Java持久层框架,同样涉及到这些转义规则。在MyBatis的XML映射文件中,我们需要正确地转义特殊字符,以避免解析...

    sql注入过滤字典.txt

    - `和 `&gt;`:小于号和大于号,用于比较操作。 - `/`:正斜杠,用于除法或注释(`--`)。 - `?`:问号,用于占位符或函数参数。 #### 三、SQL注入过滤字典中的关键词 除了特殊字符之外,过滤字典还包含了大量SQL...

    springmvc4配置防止XSS攻击的方法

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

    Mybatis_day2.pdf

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

    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标签的一部分,而不是作为文本内容。例如,在上述例子中,我们...

    PHP知识大全.doc

    预定义的字符包括 & 号、双引号、单引号、小于号和大于号等。 extract() 函数 extract() 函数从数组中把变量导入到当前的符号表中。对于数组中的每个元素,键名用于变量名,键值用于变量值。 ord() 函数 ord() ...

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

    这个错误通常是由于在XML映射文件中使用了XML解析器识别的特殊字符,例如小于号 `和大于号 `&gt;`,导致MyBatis在解析时将它们误认为是XML标签。下面我们将详细讨论这个问题的原因、解决方法以及如何避免此类错误。 ##...

    c#面试经典问题与答案(搜集了网络中几乎所有问题)

    5. SQL查询获取最后更新的事务号:`SELECT TOP 1 ID FROM table1 ORDER BY LastUpdateDate DESC` 6. 对于代码`test(i)`,当`i&gt;10`时,不会引发死锁。因为只有一个锁`this`,即使递归调用,也不会出现两个线程争夺...

    SpringBoot集成MyBatis-Plus例子

    在接口中定义方法,方法名将自动映射为SQL语句。例如,我们可以定义一个UserMapper接口,包含增删查改的方法。 5. **配置Service**:创建Service层,实现业务逻辑。这里可以直接注入刚才定义的Mapper接口,调用其...

    Android面试题及答案

    - 它通过事件触发的方式来处理XML文档中的元素,数据处理完毕后不再保留在内存中。 #### 九、自定义样式 **题目**: 下面的对自定义style的方式正确的是? - A、 ```xml &lt;item name="android:layout_width"&gt;fill_...

    C#实现简单过滤非法字符实例

    例如,双引号可能被用来闭合SQL语句中的字符串,而小于号和大于号则可能用于XML或HTML标签。 下面是一个简单的C#方法,用于过滤这些非法字符: ```csharp #region 过滤非法字符 public static string Encoding...

    超级有影响力霸气的Java面试题大全文档

    与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。...

    最新Java面试宝典pdf版

    8.用一条SQL语句 查询出每门课都大于80分的学生姓名 100 9.所有部门之间的比赛组合 100 10.每个月份的发生额都比101科目多的科目 101 11.统计每年每月的信息 102 12.显示文章标题,发帖人、最后回复时间 103 13.删除...

    2021-2022计算机二级等级考试试题及答案No.3786.docx

    =`(不等于)、`&gt;`(大于)、`(小于)、`&gt;=`(大于等于)、`(小于等于)。 - **运算符功能:** - `==`:比较两个操作数是否相等。 - `=`:赋值运算符,将右侧的值赋给左侧的变量。 - `+=`:加法赋值运算符,...

    JAVA面试宝典2010

    8.用一条SQL语句 查询出每门课都大于80分的学生姓名 100 9.所有部门之间的比赛组合 100 10.每个月份的发生额都比101科目多的科目 101 11.统计每年每月的信息 102 12.显示文章标题,发帖人、最后回复时间 103 13.删除...

Global site tag (gtag.js) - Google Analytics