Mybatis中使用特殊字符以及xml简记
前言
xml是用来存储和传输数据的,存储的意思是就和在本地电脑的word文档一样可以放东西,传输的意思是可以用于在网络中传输,比如两个系统间相互发送的,或者一个系统内前端和后台发送的,这个时候是一种数据交换格式(Json)。
和HTML类似XML是一种树形结构,有根有叶的。(看xml的起源,和HTML还有渊源)
[百度百科](https://baike.baidu.com/item/%E5%8F%AF%E6%89%A9%E5%B1%95%E6%A0%87%E8%AE%B0%E8%AF%AD%E8%A8%80/2885849?fromtitle=xml&fromid=86251&fr=aladdin)
XML简记
XML语法规则简单,一个简单的xml 文档由声明和数据组成,所有的xml文档必须有根元素,且元素必须都要有关闭标签,也就是元素使用双标签;人懒粘下菜鸟教程上到的总结吧;
- XML 可用于交换、共享和存储数据 ;
- XML 文档形成 树状结构,在"根"和"叶子"的分支机构开始的。 ;
- XML 有非常简单的 语法规则。带有正确语法的 XML 是"形式良好"的。有效的 ;
- XML 是针对 DTD 进行验证的。
- XSLT 用于把 XML 转换为其他格式,比如 HTML。
- XML 文档形成 树状结构,在"根"和"叶子"的分支机构开始的。
- XML 文档形成 树状结构,在"根"和"叶子"的分支机构开始的。
- 所有现代的浏览器有一个内建的 XML 解析器,可读取和操作 XML。
- DOM(Document Object Model)定义了一个访问 XML 的标准方式。
- XMLHttpRequest 对象提供了一个网页加载后与服务器进行通信的方式。
- XML 命名空间提供了一种避免元素命名冲突的方法。
- CDATA 区域内的文本会被解析器忽略。
xml中的预定义实体字符
(1)属性值用双引号 " 或单引号 ’ 分隔,如果属性值中有单引号,则用双引号分隔;如果有双引号,则用单引号分隔。那么如果属性值中既有单引号还有双引号怎么办?这种要使用实体(转义字符,类似于html中的空格符),XML 有 5 个预定义的实体字符,如下:
mybatis中使用特殊字符
在mybatis中的**Mapper.xml 文件写的SQL文件如果遇到特殊字符,可以有两种解决办法 字符转义和添加<![CDATA[ ]]> 也就是上面xml简记中总结的最后一条。
1) 转义
例如如果要使用 > 符号 ; 可以在mybatis的SQL语句中 使用 > 注意加英文状态下的;分号,编辑博客时无法直接 写全,会转义。囧!
2) 使用CDATA[ ]]
<select id="query" parameterType="Entity" resultType="java.util.HashMap">
SELECT id, name, age
FROM person
WHERE age <![CDATA[ >]]> 23
</select>