#{}
与${}
都可以引用 dao 中声明的形参, 例如#{param.name}
#{}
是预编译的, 即PreparedStatement
, 推荐使用, 因为具有防止 SQL 注入作用; 而${}
是直接字符串拼接的, 普通的Statement
, 有 SQL 注入风险, 非必要时, 不推荐使用- 在需要动态传入表名 / 动态字段排序等场景时, 只能使用
${}
来实现, 如果是前端传过来的参数, 那么要校验字符串的正则, 例如只允许字母数字下划线
MyBatis 中 #{} 与 ${} 的区别
最新推荐文章于 2022-11-10 09:43:55 发布