1. 参数中直接加入%%,注意不需要加两个单引号,加了就会出错,因为系统会自动为字符串类型加上两个单引号
<select id="selectPersons" resultType="person" parameterType="person">
select id,sex,age,username,password from person where true
<if test="username!=null"> AND username LIKE #{username}</if>
<if test="password!=null">AND password LIKE #{password}</if>
</select>
2. bind标签
<select id="selectPersons" resultType="person" parameterType="person">
<bind name="pattern" value="'%' + _parameter.username + '%'" />
select id,sex,age,username,password
from person
where username LIKE #{pattern}
</select>
3. concat函数
where username LIKE cancat('%',#{username},'%')
这三种方式哪个好呢?concat必然会先耗时间去执行函数费数据库的事,bind费mybatis的事,第一种方式费java代码的事。方法一简单明了直观,便于用代码控制,最好。