是一个占位符,$ 是一个拼接符
是先预编译后取值(使用 ?占位)
$ 是先取值后预编译(字符串拼接后,进行编译)
当使用#{}
的方式编写的sql时,#{}
对应的变量自动加上单引号 ’ ',变为字符串
select * from
当我们给参数传入值为user时,他的sql是这样的:
select * from 'user'
当使用 ${}
时,${}
是进行sql拼接,${}
对应的变量是不会被加上单引号 ’ ’ 的。
select * from ${param}
当我们给参数传入值为user时,他的sql是这样的:
select * from user