Mybatis特殊字符处理

博客介绍了MyBatis处理特殊字符的两种方案,一是使用转义字符,二是使用xml语法,xml语法内部内容不转义是通用方案。同时给出注意事项,不能全包逻辑判断,要缩小范围写在条件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方案一、使用转义字符

特殊字符转义字符
<&lt;
>&gt;
&&amp;
"&quot;
&apos;
<=&lt;=
>=&gt;=
<if test="startTime != null">
    AND  time &gt;= #{startTime}
</if>

方案二、使用xml的![CDATA[ ]]语法

<![CDATA[ ]]>是xml语法,在<![CDATA[ ]]>内部的所有内容都会被解析器忽略,不进行转义。所以在xml中这是一种通用方案。

特殊字符<![CDATA[ ]]>
<<![CDATA[<]]>
><![CDATA[>]]>
&<![CDATA[&]]>
"<![CDATA["]]>
<![CDATA[']]>
<=<![CDATA[<=]]>
>=<![CDATA[>=]]>
!=<![CDATA[!=]]>

注意事项

不能直接把 Mybatis 中的逻辑判断全部包住,因为还有标签有使用特殊字符<>,所以尽可能缩小范围,写在条件中

<if test="startTime != null">
    AND <![CDATA[ time >= #{startTime}]]>
</if>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值