#{}是占位符 是预编译 会自动加上单引号
${}是拼接符 编译 不会自动加上单引号
#{} 可以防止sql注入
sql注入:例我传入了"小王' or 1=1'"
若用${} 就会变成
select * from ... where name=' 小王' or 1=1
用#{} 则
select * from ... where name='小王 or 1=1'
如此便防止了sql注入问题
总结:能用#{}就尽量用#{}
但是${}也有自己适用的地方,比如当用表名作为参数或者 order by 排序的时候



