一、like '%?%'
SELECT * FROM t_usr WHERE name like '%${name}%'
SQL解析为:SELECT * FROM t_usr WHERE name like '%海%'
传参必须用${}不能用#{},这样写的弊端是不安全,不能防sql注入
有关LIKE使用,请参见:/wrs120/article/details/7930582
二、CONCAT()拼接%
SELECT * FROM t_usr WHERE name like CONCAT('%',CONCAT(#{name},'%'))
SQL解析为:SELECT * FROM t_usr WHERE name like CONCAT('%',CONCAT(?,'%'))
拼接时%必须加引号
有关CONCAT()使用,请参见:/wrs120/article/details/81148101
三、bind
bind 元素可以从 OGNL 表达式中创建一个变量并将其绑定到上下文。OGNL(Object Graph Navigation Language的缩写)是一种强大的表达式语言,更多用法,见:/isea533/article/details/50061705/
SELECT * FROM t_usr WHERE<if test="name !=null || name !=''"><bind name="usrName" value="'%' + name + '%'"/>name like #{usrName}</if>
SQL解析为:SELECT * FROM t_usr WHERE name like ?