1.#{}
#{} 是预编译处理,在mybatis处理#{}的时候,会将sql语句中的#{}替换成?,然后调用PreparedStatement的set方法来赋值,传入字符串后,会在值的两边加上单引号 ' '
2.${}
${}是字符串的替换,在MyBatis处理时,会将${ }替换成变量值,传入的值两边不会加' '
使用MyBatis${}会产生的问题安全性:
${}会导致sql注入,不利于系统的安全!
sql注入:把Sql语句通过表单或域名地址作为查询语句,恶意欺骗服务器执行该SQL语句,从而产生 Sql注入的安全性问题