#{}:用于变量的传递,一般用于传入添加、修改,或者查询、删除中where字句后的值
${}:简单的字符串拼接,可能会导致SQL注入的问题,比如select * from user where name = #{name},Mybatis会进行类型检查,不会出现问题;而select * from user where name =
n
a
m
e
,
如
果
{name},如果
name,如果{name}的值是”a” or 1=1,那么这个where字句就失去了作用。所以,
${}通常对应于SQL语句的非变量部分,用于传入数据库对象,如group by,order by,表名。
mybatis 区分#{}和${}
最新推荐文章于 2023-07-19 08:31:43 发布