笔记:
mybatis 中的<![CDATA[ ]]>
今天有个需求,需要在一个下拉选中导入近一个月前的数据,作为option的选项。
但是在mybatis中 一写sql 就报错,
where
*
FROM
yjzs
where
DATE_SUB(CURDATE(),INTERVAL 1 MONTH) <= date(??);
后来发现了 这个<= 这个符号的问题
考虑了好久,突然想起之前看过的资料就是<![CDATA[ ]]>这个东西,他有忽略解析的功能
资料:
在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用<![CDATA[ ]]>来解决。
<![CDATA[ ]]> 是什么,这是XML语法。在CDATA内部的所有内容都会被解析器忽略。
<select id="findlist" resultMap="##Result">
SELECT
*
FROM
##
where
<![CDATA[
DATE_SUB(CURDATE(),INTERVAL 1 MONTH) <= date(##);
]]>
</select>
这么写后,问题马上解决!