专栏首页带你回家mybatis中出现CDATA的作用

mybatis中出现CDATA的作用

术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。

在 XML 元素中,"<" 和 "&" 是非法的。

"<" 会产生错误,因为解析器会把该字符解释为新元素的开始。

"&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始。

某些文本,比如 JavaScript 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA。

CDATA 部分中的所有内容都会被解析器忽略。

CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束:

<![CDATA[ function matchwo(a,b) { if (a < b && a < 0) then { return 1; } else { return 0; } } ]]>

在mapper文件中写sql语句时,遇到特殊字符时,如:< 等,建议使用<![CDATA[ sql 语句 ]]>标记,将sql语句包裹住,不被解析器解析

例子:

分别根据不同条件查数据,获得一个list,元素为每个查询的结果条目数,多用于校验

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

<!-- 校验中文名和英文名是否存在 返回长度为2的list --> <select id="getMenuCnameAndEnameCount" parameterType="com.ebon.platform.menu.vo.SysMenu" resultType="Integer"> SELECT COUNT(ID) FROM SYS_MENU M WHERE M.CNAME = #{cname} AND M.PARENT_ID = #{parentId} AND M.DELETE_FLAG = 0 <if test="null!=id and id!=''"> AND M.ID <![CDATA[<]]> <![CDATA[>]]> #{id} </if> UNION ALL SELECT COUNT(ID) FROM SYS_MENU M WHERE M.ENAME = #{ename} AND M.PARENT_ID = #{parentId} AND M.DELETE_FLAG = 0 <if test="null!=id and id!=''"> AND M.ID <![CDATA[<]]> <![CDATA[>]]> #{id} </if> </select>

注:不等于<>,在mybatis中需要转义 用<![CDATA[<]]> 分别对大于和小于转义

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 1.8新特性,接口中不能有实体方法说法错误!

    斯文的程序
  • maven 创建java 项目

    斯文的程序
  • java,阳历转阴历

    斯文的程序
  • 干货|十分钟教你用动态规划算法解Travelling Salesman Problem(TSP)问题,附代码……

    乍一看标题,大家是不是觉得“动态规划”这四个字组合在一起有点眼熟?似乎哪会儿学过来着……但是吧,细细一琢磨,又忘了它具体是什么、怎么用、用来解决哪些问...

    短短的路走走停停
  • 干货|十分钟教你用动态规划算法解Travelling Salesman Problem(TSP)问题,附代码……

    乍一看标题,大家是不是觉得“动态规划”这四个字组合在一起有点眼熟?似乎哪会儿学过来着……但是吧,细细一琢磨,又忘了它具体是什么、怎么用、用来解决哪些问...

    用户1621951
  • 【C语言笔记】getchar()、getche()、getch()的区别

    函数功能:读取控制台输入的字符,并保存在键盘缓冲区中。直到用户按回车为止(回车字符也放在缓冲区中)。

    正念君
  • 从零开始学算法:高精度计算

    前言:由于计算机运算是有模运算,数据范围的表示有一定限制,如整型int(C++中int 与long相同)表达范围是(-2^31~2^31-1),unsigned...

    Angel_Kitty
  • BZOJ 1012: [JSOI2008]最大数maxnumber【线段树单点更新求最值,单调队列,多解】

    1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec  Memory Limit: 162 MB Submit: 103...

    Angel_Kitty
  • First Unique Character in a String

    Tyan
  • 1023 组个最小数 (20 分)

    可爱见见

扫码关注云+社区

领取腾讯云代金券