【#{}和${}的区别是什么】
比较
| #{} | ${} | |
|---|---|---|
| 预编译处理 | 字符串替换、是拼接符 | |
| 会将sql中的#{}替换为?号,调用PreparedStatement来赋值 | 把${}替换成变量的值,调用Statement来赋值 | |
| 变量替换位置 | 在DBMS中 | 在DBMS外 |
| 变量替换后 | 对应的变量自动加上单引号 | 对应的变量不会加上单引号 |
使用#{}可以有效的防止SQL注入,提高系统的安全性
| #{} | ${} | |
|---|---|---|
| 预编译处理 | 字符串替换、是拼接符 | |
| 会将sql中的#{}替换为?号,调用PreparedStatement来赋值 | 把${}替换成变量的值,调用Statement来赋值 | |
| 变量替换位置 | 在DBMS中 | 在DBMS外 |
| 变量替换后 | 对应的变量自动加上单引号 | 对应的变量不会加上单引号 |
使用#{}可以有效的防止SQL注入,提高系统的安全性