在mybatis的xml文件中想使用逻辑运算符(>,<,&等等)或者某些字符时,有两种解决方法:
1.使用运算符对应的特殊字符;
2.使用<![CDATA[ ]]>将含有逻辑运算符和字符的语句包含在内,这样在解析xml文件的时候就不会被转义。
1.使用运算符对应的特殊字符
运算符 | 对应的特殊字符 |
---|---|
< | <; |
> | >; |
<= | <;= |
>= | >;= |
<> | <;>; |
& | &; |
’ | &apos; |
" | "; |
2.使用<![CDATA[ ]]>
如果语句包含了很多的"<“字符 <=和”&"字符,就象程序代码一样,那么最好把他们都放到CDATA部件中。
<select id="findUserByTime" parameterType="java.util.HashMap" resultMap="userInfo1">
<![CDATA[
SELECT * FROM user WHERE 1=1 AND sTime > #{startTime} AND eTime <= #{endTime}
]]>
</select>
注意:像< if test=""> </ if> < where> </ where> < choose> </ choose> < trim> </ trim> 等这些标签不能放在<![CDATA[ ]]>中,否则都不会被解析。