目录
MyBatis中模糊查的处理有两种方式
1. 在调用时拼接模糊词
/*
模糊查询,
方法1 : 在调用时拼接模糊词
String name = "%l%";
List<Student> stus = dao.selectLikeOne(name);
*/
List<Student> selectLikeOne(String name);
mapper如下
<!--
在调用时拼接模糊词
-->
<select id="selectLikeOne" resultType="org.example.domain.Student">
select * from t_student where name like #{name}
</select>
调用时
// 准备好like内容
String name = "%l%";
List<Student> stus = dao.selectLikeOne(name);
2. 在mapper文件中拼接连接词
/*
模糊查询,
方法2 : 在mapper中拼接
*/
List<Student> selectLikeTwo(String name);
mapper如下
<!--
在mapper中拼接
注意, "%" #{name} "%"空格不能少
-->
<select id="selectLikeTwo" resultType="org.example.domain.Student">
select * from t_student where name like "%" #{name} "%"
</select>
调用时
List<Student> stus = dao.selectLikeTwo("l");
3. 两种方式对比
第一种比较灵活, 可以根据调用时候拼接的确定多种模糊查情况, 推荐使用
第二种比较方便, 不用在调用时考虑那么多, 如果模糊查的规则确定, 可以使用这个