在上一讲(Mybatis入门学习篇(二)之基于注解的增删改查)中,需要用到模糊查询,比如我想查找所有含有'zjh'的Student的信息。如果是在数据库中,那么我们可以方便的使用通配符%:select * from student where name like '%zjh%' 。但是如果在mybatis中直接像sql中那样,就会报错。遂百度,无果,偶然在一篇帖子中看到,遂记录下来,以备后用.
方法一: 在要查询的字符串合适位置加上%,如这里的'zjh'就应该为'%zjh%'。这是一个很管用的方法,也提醒我们当待查询字符串本身就含有'%'时,查询结果可能会出乎我们的意料.
方法二: 可以这样写查询语句:
@Select("select * from student where name like '%'||#{name}||'%'")
@Result(javaType = Student.class)
public List<Student> findByName(@Param("name") String name);