传递参数
Mybatis有两种传递变量的方式,一种是#,一种是$,以#为例。
Java代码
public String getValue(@Param("value")String val)
xml 文件
select * from tableName where value = #{value}
模糊查询
Mybatis 中的模糊查询方式也有两种:
CONCAT(CONCAT(‘%’, #{value}), ‘%’)
‘%’ ${value} ‘%’
原因:
在mybatis中,假设 #{value}
的值是value
- 使用
#
进行传参,会自动在两端加上""
,如#{value}
会变成"value"
- 而使用
${value}
,则SQL语句中还是value
因此,使用#方式传递参数也可以防止SQL注入