mybatis 显示参数${} #{},${}适用场景 miniui sortField sortOrder

来源:互联网 发布:淘宝订单险要求是什么 编辑:程序博客网 时间:2024/06/06 17:32

最近配合miniui 排序,发现用${} 可以直接使用  sortField、sortOrder 里面的值进行排序,而用#{}  就不行了

查了下 这两个区别:

1.#{} 传参,sql语句解析会加上"",

例如 select * from report where orgname= #{orgname}, 结果会是 select * fromreport whereorgname= ‘花果山’

2.${} 传参,mybatis不会修改或转义字符串, select * from report  order by  ${sortField}, 结果会是 select * fromreport  order by  orgname.

#{}传参能防止sql注入,mybatis会创建preparedstatement 并以它为背景设置安全的值

使用${field}不应该允许用户输入这些field,或者通常自行转义并检查。

0 0
原创粉丝点击