- #{}和${}的区别是什么?
是 变 量 占 位 符 号 , 它 可 以 用 于 X M L 标 签 属 性 值 和 S Q L 内 部 , 属 于 字 符 串 替 换 , 例 如 : {} 是变量占位符号,它可以用于 XML 标签属性值和 SQL 内部,属于字符串替换,例如: 是变量占位符号,它可以用于XML标签属性值和SQL内部,属于字符串替换,例如:{name} 会被静态替换为 变量name 指向的具体值。
#{} 是 SQL 的参数占位符,Mybatis 会将 SQL 中的 #{} 替换为 ? 号,在 SQL 执行前会使用 PreparedStatement 的参数设置方法,按序给 SQL 的 ? 号占位符设置参数值,比如 ps.setInt(0, parameterValue) 。 所以,#{} 是预编译处理,可以有效防止 SQL 注入,提高系统安全性。
Mybatis 常见问题深入解析--1
最新推荐文章于 2020-10-20 17:04:39 发布