美文网首页
MyBatis中CDATA的作用

MyBatis中CDATA的作用

作者: 缓慢移动的蜗牛 | 来源:发表于2022-01-04 16:48 被阅读0次

1、<![CDATA[]]>简介

在XML文档的解析过程中,首先查找元素的起始符,即字符"<"和字符"&"。字符"<"表示为新元素的开始,字符"&"表示为字符实体的开始。CDATA的作用是保护这些特殊字符(例如,小于号<等)不被解析。

2、<![CDATA[]]>使用注意事项

使用<![CDATA[]]>来包含不被XML解析器解析的内容。但要注意的是:不允许嵌套使用;不能再包含"]]>"。

3、<![CDATA[]]>在MyBatis的使用

在使用MyBatis过程中,有时我们的SQL是写在XML 映射文件中,如果写的SQL中有一些特殊的字符的话,在解析XML文件的时候会被当做XML自身元素,但我们不希望如此操作,所以我们要使用<![CDATA[ ]]>来解决。如下所示:

<select id="gtBlogs" resultType="Blog">
  <![CDATA[
    select * from t_blog where id < #{blogId}
  ]]>
</select>

4、转义字符

如果不想使用<![CDATA[]]>,那么请使用转义字符,效果一样的:

转义字符 原字符 说明
&lt; < 小于
&gt; '>' 大于
&amp; & 和号
&apos; ' 单引号
&quot; " 双引号

提示:严格地讲,在 XML 中仅有字符 "<"和"&" 是非法的。省略号、引号和大于号是合法的,但是把它们替换为实体引用是个好的习惯,从而避免歧义。

5、<![CDATA[]]>和XML转义字符的关系

最后,说说<![CDATA[]]>和XML转义字符的关系,它们的功能就是一样的,只是应用场景有些不同:
(1)<![CDATA[]]>不能适用所有情况,转义字符可以;
(2) 对于短字符串<![CDATA[]]>写起来繁琐,对于长字符串转义字符可读性差;
(3) <![CDATA[]]>表示XML解析器忽略解析,所以更快一些。

相关文章

  • Mybatis中的作用

    在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件...

  • mybatis中的作用

    今儿在修改一个时间区间检索的问题的时候,看到了,以前也看到过,但是不知道是什么意思,今儿就...

  • MyBatis中CDATA的作用

    1、简介 在XML文档的解析过程中,首先查找元素的起始符,即字符"<"和字符"&"。字符"...

  • MyBatis SQL 符号

    兼容: 或者 mybatis : trim标签, “等于==”经验, CDATA...

  • mybatis学习笔记

    mybatis学习笔记 简介 入门 XML配置 XML 项目相关笔记 在使用myb...

  • mybatis 09 转义与批量操作

    转义使用mybatis的时候,特殊字符,例如<,>,<>,.....需使用以下进行转义 使用CDATA部件

  • mybatis CDATA标签用法

    xml解析不了<= 或 >=,CDATA包裹可以通过解析 上文中begintime参数格式在下面图片中

  • mybatis 使用 转义

    一、转义方法介绍 第一种方法:用了转义字符把>和<替换掉,然后就没有问题了。例如: SELECT * FROM t...

  • mybatis 中的<![CDATA[ ]]>标签用

    最近在看博客时,发现有人使用了这样一个标签包住Mapper中的sql语句,不清除是什么意...

  • xml相关

    18.6.15XML CDATA所有 XML 文档中的文本均会被解析器解析。只有 CDATA 区段(CDATA s...

网友评论

      本文标题:MyBatis中CDATA的作用

      本文链接:https://www.haomeiwen.com/subject/ecaqcrtx.html