Mybatis 中的<![CDATA[ ]]>浅析

 更新时间:2017年09月27日 15:45:38   作者:a1165117473  
本文给大家解析使用<![CDATA[ ]]>解决xml文件不被转义的问题, 对mybatis 中的<![CDATA[ ]]>相关知识感兴趣的朋友一起看看吧

在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用<![CDATA[ ]]>来解决。

<![CDATA[   ]]> 是什么,这是XML语法。在CDATA内部的所有内容都会被解析器忽略。

如果文本包含了很多的"<"字符 <=和"&"字符——就象程序代码一样,那么最好把他们都放到CDATA部件中。

但是有个问题那就是 <if test="">   </if>   <where>   </where>  <choose>  </choose>  <trim>  </trim> 等这些标签都不会被解析,所以我们只把有特殊字符的语句放在 <![CDATA[   ]]>  尽量缩小 <![CDATA[  ]]> 的范围。

实例如下:

<select id="allUserInfo" parameterType="java.util.HashMap" resultMap="userInfo1"> 
 <![CDATA[ 
 SELECT newsEdit,newsId, newstitle FROM shoppingGuide WHERE 1=1 AND newsday > #{startTime} AND newsday <= #{endTime} 
 ]]> 
 <if test="etidName!=''"> 
  AND newsEdit=#{etidName} 
 </if> 
 </select> 

因为这里有 ">"  "<=" 特殊字符所以要使用 <![CDATA[   ]]> 来注释,但是有<if> 标签,所以把<if>等 放外面

总结

以上所述是小编给大家介绍的Mybatis 中的<![CDATA[ ]]>浅析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Java查询MongoDB数据库案例大全

    Java查询MongoDB数据库案例大全

    这篇文章主要给大家介绍了关于Java查询MongoDB数据库的一些相关案例,Java可以使用MongoDB的官方Java驱动程序来连接和操作MongoDB数据库,需要的朋友可以参考下
    2023-07-07
  • Maven2环境安装与准备工作详解

    Maven2环境安装与准备工作详解

    这篇文章主要为大家详细介绍了Maven2环境安装与准备工作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • SpringBoot整合ZXing实现二维码和条形码的创建

    SpringBoot整合ZXing实现二维码和条形码的创建

    如今我们越来越多的东西需要用到二维码或者条形码,商品的条形码,付款的二维码等等,所以本文小编给大家介绍了SpringBoot整合ZXing实现二维码和条形码的创建,文章通过代码示例给大家介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • SpringBoot配置log4j输出日志的案例讲解

    SpringBoot配置log4j输出日志的案例讲解

    这篇文章主要介绍了SpringBoot配置log4j输出日志的案例讲解,springboot框架中默认使用logback进行日志输出,当然它也可以配置其它的日志框架,需要的朋友可以参考下
    2022-11-11
  • SpringBoot+Redis执行lua脚本的5种方式总结

    SpringBoot+Redis执行lua脚本的5种方式总结

    Lua是一种快速、轻量级的脚本语言,广泛应用于各种领域,包括数据库,Redis作为一个内嵌Lua解释器的NoSQL数据库,允许通过Lua脚本在服务器端执行一些复杂的操作,本文给大家介绍了使用SpringBoot Redis执行lua脚本的五种方式,需要的朋友可以参考下
    2023-11-11
  • Java集合中的Set之LinkedHashSet详解

    Java集合中的Set之LinkedHashSet详解

    这篇文章主要介绍了Java集合中的Set之LinkedHashSet详解,LinkedHashSet是Set集合的一个实现,具有set集合不重复的特点,同时具有可预测的迭代顺序,也就是我们插入的顺序,并且linkedHashSet是一个非线程安全的集合,需要的朋友可以参考下
    2023-09-09
  • synchronized背后的monitor锁实现详解

    synchronized背后的monitor锁实现详解

    这篇文章主要为大家介绍了synchronized背后的monitor锁实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Java与C++分别用递归实现汉诺塔详解

    Java与C++分别用递归实现汉诺塔详解

    汉诺塔问题是一个经典的问题。汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。本文将用Java与C++分别实现,感兴趣的可以学习一下
    2022-05-05
  • springBoot热部署、请求转发与重定向步骤详解

    springBoot热部署、请求转发与重定向步骤详解

    这篇文章主要介绍了springBoot热部署、请求转发与重定向,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • 简单聊一聊Spring中Bean别名的处理原理

    简单聊一聊Spring中Bean别名的处理原理

    今天来和小伙伴们聊一聊 Spring 中关于 Bean 别名的处理逻辑,别名,顾名思义就是给一个 Bean 去两个甚至多个名字,整体上来说,在 Spring 中,有两种不同的别名定义方式,感兴趣的小伙伴跟着小编一起来看看吧
    2023-09-09

最新评论