mybatis 中的CDATA[ ]

转载 2018年04月15日 13:12:53

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

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

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

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

实例如下:

  1. <select id="allUserInfo" parameterType="java.util.HashMap" resultMap="userInfo1">  
  2.   <![CDATA[  
  3.   SELECT newsEdit,newsId, newstitle FROM shoppingGuide  WHERE 1=1  AND  newsday > #{startTime} AND newsday <= #{endTime}  
  4.   ]]>  
  5.   <if test="etidName!=''">  
  6.    AND newsEdit=#{etidName}  
  7.   </if>  
  8.  </select>  
<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[]]>用法

在使用mybatis时sql语句写在xml映射文件中,如果sql语句中包含一些特殊字符,在xml解析的时候就会被转义,所以要使用来防止一些特殊的字符被转义。如果sql语句中包含""、"&"特殊字符,s...
  • weixin_41648259
  • weixin_41648259
  • 2018-02-06 13:39:34
  • 134

mybatis 中的<![CDATA[ ]]>

在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用来解决。 是什么,这是XML语...
  • QH_JAVA
  • QH_JAVA
  • 2016-02-27 16:18:34
  • 57942

mybatis中的CDATA标签的用法

术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。 在 XML 元素中," " "&" 也会产生错误,因为解析器会把该字符解释为字符实...
  • Jay_1989
  • Jay_1989
  • 2016-04-25 15:27:05
  • 4964

mybatis中﹤![CDATA[ ]]> 的使用

问题: mybatis中﹤![CDATA[ ]]> 的使用 描述:
  • Sky786905664
  • Sky786905664
  • 2017-10-30 21:08:27
  • 204

mybatis的sql的xml的配置文件中<![CDATA[ ]]>的用法。

具体见如下代码: keyProperty="id"> INSERT INTO VOUCHER ( ) VALUES ( ) UPDATE ...
  • suyu_yuan
  • suyu_yuan
  • 2016-06-14 14:09:48
  • 3239

Mybatis--<![CDATA[ sql 语句 ]]> 不用解析

在mapper文件中写sql语句时,遇到特殊字符时,如:标记,将sql语句包裹住,不被解析器解析         select                 from DYRKB...
  • wwc8511
  • wwc8511
  • 2014-01-15 15:51:38
  • 2910

mybatis中的xml文件中的特殊转义字符处理(<[!CDATA[]]>的用法)

我们在使用Mybatis的时候,大致由三部分组成。 model、mapper接口、mapper.xml 1:其中model就是我们经常使用的实体类,可以再mapper.xml中直接使用(当做参数或...
  • dark_horse_lk
  • dark_horse_lk
  • 2017-03-22 20:16:18
  • 1050

ibatis配置xml文件中CDATA的用法

ibatis作为一种半自动化的OR Mapping工具,其灵活性日益体现出来,越来越多的人都倾向于在项目中使用。由于Sql中经常有与xml规范相冲突的字符对xml映射文件的合法性造成影响。许多人都知道...
  • crystony
  • crystony
  • 2011-09-05 23:44:27
  • 5087

ibatis mybatis sql语句配置 符号不兼容 大于号 小于号<!CDATA[ ]>

因为这个是xml格式的,所以不允许出现类似“>”这样的字符,但是都可以使用符号进行说明,将此类符号不进行解析  你的可以写成这个:  mapper文件示例代码   &lt;        ...
  • xiaofengxiaoling
  • xiaofengxiaoling
  • 2013-10-18 11:20:21
  • 11600

mybatis 模糊查询和<![CDATA[ ]]>的作用

1. sql中字符串拼接    SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%');   ...
  • u013314786
  • u013314786
  • 2016-03-05 01:09:31
  • 2435
收藏助手
不良信息举报
您举报文章:mybatis 中的CDATA[ ]
举报原因:
原因补充:

(最多只允许输入30个字)