Mybatis注解方式进行模糊搜索sql语句的三种写法
1.@Select("select * from Student where name like #{name}")
这是第一种写法,这样的写法可以是可以,但是在赋值时需要对值进行拼接“%”有点麻烦。
List<Student> studentList = impl.select_by_all("%"+"张"+"%");
2.@Select("select * from Student where name like concat('%',#{name},'%')")
第二种写法是比较简便的写法,不需要对值进行“%”的拼接,超级推荐
List<Student> studentList = impl.select_by_all("张");
3.@Select("select * from Student where name like '%${value}%'")
第三种这样的写法也是不需要对值进行“%”的拼接,注意:${}里的只能是value,不能是其他英文单词。
但是不太推荐这样的写法因为在控制台里的语句是这样的
select * from Student where name like '%张%'
这就容易涉及到sql注入的问题,所以不太推荐
List<Student> studentList = impl.select_by_all("张");