共有两种方式,
第一种在java语句中把语句组装好,然后将其传入sql语句
第二种则是在sql语句中进行拼装
第一种方式
在java程序中,把like的内容组装好,把这个内容传入到sql语句
mapper中的sql语句
<!--like第一种方式-->
<select id="selectLikeOne" resultType="com.aurora.pojo.Student">
select * from student where name like #{name}
</select>
测试:
@Test
public void testLikeOne() {
SqlSession session = MyBatisUtil.getSqlSession();
StudentDao dao = session.getMapper(StudentDao.class);
String name = "%张%";
List<Student> students = dao.selectLikeOne(name);
session.close();
students.forEach(student -> System.out.println(student));
}
第二种方式:
在sql语句,组织like的内容,进行sql拼接
在mapper中的sql语句
<!--like第二种方式-->
<select id="selectLikeTwo" resultType="com.aurora.pojo.Student">
select * from student where name like "%" #{name} "%"
</select>
测试:
@Test
public void testLikeTne() {
SqlSession session = MyBatisUtil.getSqlSession();
StudentDao dao = session.getMapper(StudentDao.class);
String name = "张";
List<Student> students = dao.selectLikeTwo(name);
session.close();
students.forEach(student -> System.out.println(student));
}