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

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

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

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

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

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

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

posted @   阳光真好的博客  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示