使用百分号进行模糊查询的时候,变量不可以直接使用#{变量}的形式,因为#会被解析为字符串,
参数索引超出范围(1>参数数量,即0)。
解决方法有如下:
select * from t_user where username like '%${mohu}%'
select * from t_user where username like concat('%',#{mohu},'%')
select * from t_user where username like "%"#{mohu}"%"
在案例中的使用
<!--List<User> testMohu(@Param("mohu") String mohu);-->
<select id="testMohu" resultType="User">
<!--select * from t_user where username like '%${mohu}%'-->
<!--select * from t_user where username like concat('%',#{mohu},'%')-->
select * from t_user where username like "%"#{mohu}"%"
</select>