在xml的语句中,${id}相当于是直接替换,例如:
ORDER BY ${columnName},则会直接按值替换掉,不会生成PreparedStatement,是直接在SQL层面替换。
但是如果使用#{id}会促使MyBatis 生成PreparedStatement并且安全地设置
PreparedStatement 参数(=?)值。
使用#{id}能够预防SQL注入问题。
在xml的语句中,${id}相当于是直接替换,例如:
ORDER BY ${columnName},则会直接按值替换掉,不会生成PreparedStatement,是直接在SQL层面替换。
但是如果使用#{id}会促使MyBatis 生成PreparedStatement并且安全地设置
PreparedStatement 参数(=?)值。
使用#{id}能够预防SQL注入问题。