#{}和${}区别-java

#{}和${}区别

#{} : 采用预编译方式,可以防止SQL注入 ${}: 采用直接赋值方式,无法阻止SQL注入攻击

在大多数情况下,我们都是采用#{}读取参数内容.但是在一些特殊的情况下,我们还是需要使用${}读取参数的.

比如 有两张表,分别是emp_2017 和 emp_2018 .如果需要在查询语句中动态指定表名,就只能使用KaTeX parse error: Expected group after '' at position 37: …ect * from emp̲{year} 再比如.需要动态的指定查询中的排序字段,此时也只能使用${}

select * from dept order by ${name} 简单来说,在JDBC不支持使用占位符的地方,都可以使用${}

posted @ 2022-03-29 17:15  gaoze  阅读(80)  评论(0)    收藏  举报