MyBatis中SQL语句大小写符号转换

MyBatis配置文件中对大小写<>符号敏感,得用转义字符代替

 &lt;         <    小于号

&gt;         >    大于号

&lt;=        <=   小于等于号

&gt;=       >=   大于等于号

&amp;      &     和

&apos;     '       单引号

&quot;      "       双引号

 

此标记用于xml文档中,我们先来看看使用转义符的情况。我们知道,在xml中,”<”、”>”、”&”等字符是不能直接存入的,否则xml语法检查时会报错,如果想在xml中使用这些符号,必须将其转义为实体,如”&lt;”、”&gt;”、”&amp;”,这样才能保存进xml文档。

值得注意的是:
  (1)转义序列字符之间不能有空格;
  (2) 转义序列必须以”;”结束;
  (3) 单独出现的”&”不会被认为是转义的开始;
  (4) 区分大小写。

 

如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用<![CDATA[ ]]>来解决。

<![CDATA[ ]]> 是什么,这是XML语法。

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

如果文本包含了很多的”<”字符 <=和”&”字符,最好把他们都放到CDATA部件中。
但是有个问题那就是 <if test=""> </if> <where> </where> <choose> </choose> <trim> </trim> 等这些标签都不会被解析,所以我们只把有特殊字符的语句放在 <![CDATA[ ]]> 的范围中。

下面就举个大小写字符的例子,上面那些标签把转义符号嵌套在里面即可:

select
<include refid="Base_Column_List"/>
from mmall_order
where status = #{status}
<![CDATA[
and create_time <= #{date}
]]>
order by create_time desc

 

 



 

posted @ 2022-07-29 11:46  阿迪di  阅读(2056)  评论(1编辑  收藏  举报
Title