• mybatis特殊字符处理


    在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> 
  • 相关阅读:
    财务统计
    Drupal 7 模 .info 文件描述
    怎么样MyEclipse配置Tomcat?
    QQ旅程server分析01-网关server
    UVa 988
    人工智能的策略,如果国家优先发展”梦想成真”?
    苹果公司的新的编程语言 Swift 高级语言(十一)--初始化类的析构函数的一个实例
    【剑指offer】两个队列实现堆栈
    证券从业改革
    Qt调用word 例子
  • 原文地址:https://www.cnblogs.com/lwdmaib/p/9155750.html
Copyright © 2020-2023  润新知