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>