在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,
但我们不希望他被转义,所以我们要使用<![CDATA[ ]]>来解决。
此标记用于xml文档中,我们先来看看使用转义符的情况。
我们知道,在xml中,”<”、”>”、”&”等字符是不能直接存入的,
否则xml语法检查时会报错,如果想在xml中使用这些符号,必须将其转义为实体,
如”<”、”>”、”&”,这样才能保存进xml文档。
在XML中,需要转义的字符有:
(1)& &
(2)< <
(3)> >
(4)" "
(5)' '
${value} ${}是字符串拼接,容易sql注入问题;
#{value} #{}是传过来的value是一个字符串,不会出现sql注入问题;
总结:就是<![CDATA[ ]]>里面的值不会被xml解析,写什么是什么不会变