1.用${…}代替#{…}
<if test="name != null and name != ''">
AND name LIKE '%${name}%'
</if>
注:使用${…}不能有效防止SQL注入,所以这种方式虽然简单但是不推荐使用!!!
2.使用sql中的字符串拼接函数
<if test='labch != null and labch !=""'>
and MC like concat(concat('%',#{labch}),'%')
</if>
3.使用标签
<bind name="pattern1" value="'%' + name + '%'" />
如下使用:
<if test="name != null and name != ''">
AND name LIKE #{pattern1}
</if>