MyBatis中在XML写SQL,如果遇到特殊字符(例如大于等符号)需要转义或特别处理,因为要符合xml的约定。
第一种做法-转义
原符号 | < | <= | > | >= | & | ' | " |
转义后符号 | < | <= | > | >= | & | ' | " |
例如:sql如下:
select * from t_table where create_date >= #{startDate} and create_date <= #{endDate}
第二种做法-用CDATA包裹
大于等于把特殊符号包裹在 <![CDATA[特殊字符]]>
例如:
大于等于 >=,改成:<![CDATA[ >= ]]>
小于等于 <= ,改成:<![CDATA[ <= ]]>
其他类似。
例如:sql如下:
select * from t_table where create_date <![CDATA[ >= ]]> #{startDate} and create_date <![CDATA[ <= ]]> #{endDate}
文章评论