用'%${name}%'可以实现模糊查询,但会放开SQL注入漏洞。
<when test="name != null and name!=''"> AND name like '%${name }%' </when>
最好的方式,是
Oracle可以用
<when test="name != null and name!=''"> AND name like '%'||#{name }||'%' </when>
MySql可以用
<when test="name != null and name!=''"> AND name like CONCAT('%',#{name},'%') </when>