在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用<![CDATA[ ]]>来解决。
<![CDATA[ ]]> 是什么,这是XML语法。在CDATA内部的所有内容都会被解析器忽略。
如果文本包含了很多的"<"字符 <=和"&"字符——就象程序代码一样,那么最好把他们都放到CDATA部件中。
但是有个问题那就是 <if test=""> </if> <where> </where> <choose> </choose> <trim> </trim> 等这些标签都不会被解析,所以我们只把有特殊字符的语句放在 <![CDATA[ ]]> 尽量缩小 <![CDATA[ ]]> 的范围。
SELECT(
CASE
WHEN oy.AMOUNT IS NULL THEN
(ny.AMOUNT-0)
WHEN ny.AMOUNT IS NULL THEN
(0-oy.AMOUNT)
ELSE
(ny.AMOUNT-oy.AMOUNT)
END) AS AMOUNT,
(
CASE
WHEN oy.AMOUNT IS NULL THEN
(ny.AMOUNT-0)/ny.AMOUNT
WHEN ny.AMOUNT IS NULL THEN
(0-oy.AMOUNT)/oy.AMOUNT
ELSE
"ROUND"((ny.AMOUNT-oy.AMOUNT)/ny.AMOUNT,2)
END) AS rate,
ny.BLEVEL FROM
(SELECT "SUM"(f.AMOUNT) AS AMOUNT,f.BLEVEL FROM FT_INCOME_REPORT_LOG f
WHERE "SUBSTR"(f.TXN_DATE,1,6) <![CDATA[ >= ]]> #{startMonth,jdbcType=VARCHAR} AND "SUBSTR"(f.TXN_DATE,1,6)
<![CDATA[ <= ]]> #{endMonth,jdbcType=VARCHAR} GROUP BY f.BLEVEL) ny
LEFT JOIN
(SELECT "SUM"(f.AMOUNT) AS AMOUNT,f.BLEVEL FROM FT_INCOME_REPORT_LOG f
WHERE "SUBSTR"(f.TXN_DATE,1,6) <![CDATA[ >= ]]> #{lastStartMonth,jdbcType=VARCHAR} AND "SUBSTR"(f.TXN_DATE,1,6) <![CDATA[ <= ]]> #{lastEndMonth,jdbcType=VARCHAR} GROUP BY f.BLEVEL) oy
ON ny.BLEVEL=oy.BLEVEL
ORDER BY ny.BLEVEL
分享到:
相关推荐
本文档包含了一个完整的实例,可以实现含有CDATA 的字符串转换成xml
第135讲phpxml编程②cdata实体字符处理指令dtd快速入门编程校验xml.pdf
android 使用saxparser 解析<![CDATA[ ]]>标签数据。 见附件实例
CDATA:在标记CDATA下,所有的标记、实体引用都被忽略,而被XML处理程序一视同仁地当作字符数据看待,CDATA的形式:<![CDATA[文本内容]]>CDATA的文本内容中不能出现字符串“]]>”,另外,CDATA不能嵌套。
(2) 转义序列必须以” (3) 单独出现的”&”不会被认为是转义的开始 (4) 区分大小写 (2) 不允许嵌套使用 (3)”]]>”这部分不能包含空格或者换行
[CDATA[” 标记开始,以”]]>”标记结束,是CDATA内部内容被解析器忽略。具体说明参考《XML CDATA是什么?》。 2.内容中含有低位非打印字符,解析时会报错:””(十六进制值 0x1D)是无效的字符.加载或保存XML时引发...
javascript生成/解析dom的CDATA类型的字段的代码
XML:标签CDATA用法 XML:标签CDATA用法
与上一个版本一起使用可以可以起到提高效率的目的。本人解析xml的真实文档
Mini-XML 是一个小型 XML 解析库,您可以使用它来读取应用程序中的 XML 数据文件或字符串,而无需大型非标准库 读取 UTF-8 和 UTF-16 并写入 UTF-8 编码的 XML 文件和字符串。 数据存储在链表树结构中,保留 XML ...
主要介绍了XML中的字符实体与字符数据,文中所说的CDATA片段即是指字符数据即不由解析器解析的文本块,需要的朋友可以参考下
asp.net3.5及以上版本自带序列化类读写XML中的cdata数据(JSON数据格式),看代码就明白。
"H3CData网络流量分析一体机WEB配置手册" H3CData网络流量分析一体机WEB配置手册是新华三技术有限公司发布的一份关于网络流量分析一体机的WEB配置手册。该手册旨在帮助用户快速搭建和配置H3CData网络流量分析一体机...
H3CData高校大数据解决方案
解析RSS XML的demo,解决了CDATA带来的问题,以及处理HTML实体字符的方法。
local cdata = require " cdata " local packets = {} -- all structs get a type field so we don't lose our minds. function add_struct ( name , fields , map ) local struct = string.format ( " typedef ...
CDATA是在XML文档里面使用的关键字,用来告诉浏览器,这部分内容不用解析,是给其他程序用的,比如JAVASCRIPT等等。 PCDATA是在 XML约束文档里使用的,如DTD类型的约束文档,在这里面表示元素的内容或属性的取值范围...
Dom4j封装与解析,附参考模板,个人实际案例,根据自身情况修改
C资料大全,供各位学习C语言时参考之用。如发现有错误请即时与我联系。