${}与#{}的区别

"#{}"与"${}"是为了动态传递参数而存在的,总体作用是一致的,但是在编译过程中,是否自动添加单引号,安全性,使用场景等方面有很多不同。

一、区别汇总

  1. 编译过程
    1.#{}是 占位符 :动态解析 -》 预编译 -》 执行
    2.${}是 拼接符 :动态解析 -》 编译 -》 执行
    预编译可以类比java类的编译,java类被编译成class文件,载入虚拟机,sql预编译后会在参数位置用占位符表示
    转自:https://blog.csdn.net/weixin_41231928/article/details/105120292
posted @ 2021-10-27 10:44  Demo4  阅读(80)  评论(0编辑  收藏  举报