Mybatis注解方式进行模糊搜索sql语句的写法

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("张");

猜你喜欢

转载自blog.csdn.net/Jackbillzsc/article/details/109012208