Mybatis 传递参数和模糊查询

传递参数

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注入

你可能感兴趣的:(#,------Mybatis)