第一种
第一种模糊查询,在java代码中指定like的内容
- dao层
List<Student> selectLikeOne(String name);
- dao层xml
<select id="selectLikeOne" resultType="com.putao.domian.Student">
select id,name,email,age from student where name like #{name}
</select>
- Test
@Test
public void testSelectLikeOne(){
SqlSession sqlSession = MyBatisUtils.getSqlSession();
StudentDao dao = sqlSession.getMapper(StudentDao.class);
//准备好like的内容
String name = "%李%";
List<Student> students = dao.selectLikeOne(name);
students.forEach(student -> System.out.println("####学生="+student));
sqlSession.close();
}
结果:
第二种
第二种方式:在mapper文件中拼接 like的内容
name就是李值,在mapper中拼接 like “%“李”%”
- dao层
List<Student> selectLikeTwo(String name);
- dao层xml
<select id="selectLikeTwo" resultType="com.putao.domian.Student">
select id,name,email,age from student where name like "%" #{name} "%"
</select>
- Test
@Test
public void testSelectLikeTwo(){
SqlSession sqlSession = MyBatisUtils.getSqlSession();
StudentDao dao = sqlSession.getMapper(StudentDao.class);
//准备好like的内容
String name = "张";
List<Student> students = dao.selectLikeTwo(name);
students.forEach(student -> System.out.println("***学生="+student));
sqlSession.close();
}
结果: