第一种: 在java程序中,把like的内容组装好。 把这个内容传入到sql语句
//like第一种方式
List<Student> selectLikeOne(@Param("name") String name);
mapper
<!--like第一种方式-->
<select id="selectLikeOne" resultType="com.nefu.domain.Student">
select * from student where name like #{name}
</select>
执行like
@Test
public void testLikeOne(){
SqlSession sqlSession = MyBatisUtil.getSqlSession();
StudentDao dao = sqlSession.getMapper(StudentDao.class);
String name="%符%";//%在java代码中
List<Student> students = dao.selectLikeOne(name);
sqlSession.close();
students.forEach( stu-> System.out.println(stu));
}
第二种: 在mapper.xml的sql语句,组织like的内容。
sql语句like的格式: where name like “%“空格#{name}空格”%”
List<Student> selectLikeTwo(@Param("name") String name);
<select id="selectLikeTwo" resultType="com.nefu.domain.Student">
select * from student where name like "%" #{name} "%"
<!--% 在mapper.xml代码中-->
</select>
@Test
public void testLikeTwo(){
SqlSession sqlSession = MyBatisUtil.getSqlSession();
StudentDao dao = sqlSession.getMapper(StudentDao.class);
String name="符";
List<Student> students = dao.selectLikeTwo(name);
sqlSession.close();
students.forEach( stu-> System.out.println(stu));
}