mybatis 映射文件中$ # 的区别

来源:互联网 发布:skypixel软件 编辑:程序博客网 时间:2024/05/16 08:17

${} 为原样输出,你传什么,sql里就填入什么。比如有引号它也会原样填到sql里。如果你想直接将未更改的字符串代入到sql中,可以使用${}。


#{} 会使用 PreparedStatement,变量处用 ? 代替。 #{}语法会促使MyBatis生成PreparedStatement属性并且使用PreparedStatement的参数(=?)来设置值

在能使用 #{} 尽量使用它吧,可以防止sql注入。


对于变量部分, 应当使用#{}, 这样可以有效的防止sql注入,对于非变量部分, 那只能使用${}, 

0 0