mybatis中#{} 和 ${} 的区别
mybatis中#{} 和 ${} 的区别
-
#{} 为参数占位符 ?,即sql 预编译;${} 为字符串替换,即 sql 拼接
-
#{}:动态解析 -> 预编译 -> 执行;${}:动态解析 -> 编译 -> 执行
-
#{} 的变量替换是在DBMS(关系型数据库) 中;${} 的变量替换是在 DBMS 外
-
变量替换后,#{} 对应的变量自动加上单引号 '' ;变量替换后,${} 对应的变量不会加上单引号 ''
-
#{} 为参数占位符 ?,即sql 预编译;${} 为字符串替换,即 sql 拼接
#{}:动态解析 -> 预编译 -> 执行;${}:动态解析 -> 编译 -> 执行
#{} 的变量替换是在DBMS(关系型数据库) 中;${} 的变量替换是在 DBMS 外
变量替换后,#{} 对应的变量自动加上单引号 '' ;变量替换后,${} 对应的变量不会加上单引号 ''