在mybatis框架中,操作数据库时有时会用到模糊查询,介绍一种模糊查询的方法:
通常在mybatis中我们需要使用#{}占位符,在SQL中用?来表示。来查找未知变量,在进行模糊查询时如果我们使用这样的sql:
select * from user
where username like #{value}
这样的话我们在使用时还需要在注入参数时写成%value%,有时可能会忽略。此时我们可以使用:${}拼接SQL 比如:
select * from user
where username like '%${value}%'
但是用这样的字符串拼接字符存在问题,可能会引起sql注入 eg …or 1=1,这样or前面的语句可能就不会起到作用。