第一种方法——CONCAT |
<if test="andLikeUserName != null and andLikeUserName != ''">
where user_name like
CONCAT(CONCAT('%',#{andLikeUserName}),'%')
</if>
第二种方法——bind标签 |
这种方法是在网上查到的,也不是很理解他的原理。
<select id="selectUser" resultType="user" parameterType="user">
<bind name="pattern" value="'%' + _parameter.username + '%'" />
select id,username,password
from user
where username LIKE #{pattern}
</select>
第三种方法——参数中直接加入%% |
param.setUsername("%宇%");
param.setPassword("%9%");
<select id="selectUser" resultType="user" parameterType="user">
select id,username,password from user where true
<if test="username!=null"> AND username LIKE #{username}</if>
<if test="password!=null">AND password LIKE #{password}</if>
</select>