mybatis中,trim标签就相当于replace功能,根据一个字符串替换掉成另外一个字符串
prefix:前缀要替换的内容
suffix:后缀要替换的内容
prefixOverrides:前缀判断的条件
suffixOverrides:后缀判断的条件
比如:
<span style="font-family:Arial;">select * from a
<trim <span style="font-size: 14px; line-height: 25.2000007629395px;">prefix</span>="WHERE" <span style="font-size: 14px; line-height: 25.2000007629395px;">prefixOverrides</span>="AND | OR">
<if test="id != null and id !='' ">
AND id =#{id}
</if>
<if test="name != null">
AND name like #{name}
</if>
</trim> </span>
首先,根据条件判断, 得到trim标签内的字符串,得到字符串"AND id=#{id} AND name like #{name}", 然后和prefixOverrides的字符串比较, AND字符串符合,则把第一个AND 替换为WHERE.
则最终的结果为:
<span style="font-family:Arial;">select * from a WHERE <span style="font-size: 14px; line-height: 25.2000007629395px;">id=#{id} AND name like #{name}</span></span>
如果单独使用prefix,则直接在语句前面追加对应prefix字符串.suffix也是同样使用效果