mybatis中#{} 和 ${} 的区别

mybatis中#{} 和 ${} 的区别

  • #{} 为参数占位符 ?,即sql 预编译;${} 为字符串替换,即 sql 拼接

  • #{}:动态解析 -> 预编译 -> 执行;${}:动态解析 -> 编译 -> 执行

  • #{} 的变量替换是在DBMS(关系型数据库) 中;${} 的变量替换是在 DBMS 外

  • 变量替换后,#{} 对应的变量自动加上单引号 '' ;变量替换后,${} 对应的变量不会加上单引号 ''

  • #{} 能防止sql 注入;${} 不能防止sql 注入

posted @ 2022-03-11 16:27  阳光真好的博客  阅读(36)  评论(0)    收藏  举报