#{}一定不能写在引号里面,${}一定要写在引号里面如果是pojo、map类型的参数,无论是#{}还是${}里面都是些属性名如果是简单类型的参数,#{}里面可以写任意字符串,但是${}里面只能写value(以前的版本)如果使用#{}引入参数的话,会将 sql 中的#{}替换为?号,调用 PreparedStatement 的set 方法来赋值;而使用${}引入参数的话,是直接拼接SQL语句 所以使用#{}可以有效的防止 SQL 注入,提高系统安全性