第1种:在Java代码中添加SQL通配符。
String wildCardName = "%smi%";
List<Name> names = mapper.selectLike(wildCardName);
<select id="selectLike">
select * from foo where bar like #{value}
</select>
第2种:在SQL语句中拼接通配符,会引起SQL注入的风险。
String wildCardName = "smi";
List<Name> names = mapper.selectLike(wildCardName);
<select id="selectLike">
select * from foo where bar like "%"#{value}"%"
</select>
第3种:在SQL语句中使用MySQL的函数,防止SQL注入的风险。
String wildCardName = "%smi%";
List<Name> names = mapper.selectLike(wildCardName);
<select id="selectLike">
select * from foo where bar like concat('%',#{value},'%')
</select>