1、 #{}相当于占位符,而${}相当于字符串拼接
eg: select * from user where username = #{v}
这句sql 没问题。 比如我们传递的参数是 王五 , 那么#{v} 等同于 '王五'
eg: select * from user where username = ${v}
这句sql就报错。比如我们传递的参数是 王五 ,那么 ${v} 等同于 王五
sql 就等同于 select * from user where username = 王五 ,而这个username 是字符串类型的。
2、#{}里面可以随便写,而${}里面只能写 value
3、#{}防sql注入,但是${} 不可以
为了防止sql注入这里给出一个使用 #{} 来模糊查询的例子
select * from user where username like "%"#{}"%";