MyBatis可以灵活的模糊查询
方法一 手动拼接
public void select1(String name) {
String name = "%" + name+ "%";
userDao.select1(name);
}
// Dao层指定参数别名
List<User> select1(@Param("name") String name);
<select id="select1" parameterType="string" resultType="com.why.mybatis.entity.User">
SELECT
*
FROM
t_user
WHERE
name LIKE #{name}
</select>
方法二 mysql的CONCAT()函数
name LIKE CONCAT('%',#{name},'%')
name like "%"#{name}"%"
<!--不建议可能会产生sql注入-->
name like "%"${name}"%"
方法三 Mybatis的bind
<select id="selectBykeyWord" parameterType="string" resultType="com.why.mybatis.entity.RoleEntity">
<bind name="pattern" value="'%' + name + '%'" />
SELECT
*
FROM
t_role
WHERE
name LIKE #{pattern}
OR
id LIKE #{pattern}
</select>