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