Mybatis--动态设定 字段 order by 排序
博客专区 > lnt123 的博客 > 博客详情
Mybatis--动态设定 字段 order by 排序
lnt123 发表于2年前
Mybatis--动态设定 字段 order by 排序
  • 发表于 2年前
  • 阅读 32
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

摘要: 每日笔记 mybatis 排序

今天测试发现了个项目BUG,说是查询的列表没有排序。查看代码如下:

代码中已经对SQL进行了排序。再次运行代码,发现查询结果还是没有排序。于是查看打印日志:

将语句和参数放入工具navicate for mysql 发现没问题。

上网搜索发现,原来是mybatis问题,mybatis SQL文件中 #符号将传入的数据都当做一个字符串,会对数据增加一个引号,如 order by #{ userid } , userid对应的值是10001,解析后就是 order by '10001' 。

$符号将传入的数据直接显示在sql中。如 order by ${ userid } , userid对应的值是10001,解析后结果为 order by userid 。将 sql中的#改成$发现果然结果可以。

再次搜索发现 #可以最大程度防止sql注入,$则无法防止sql的注入,一般课可以传入数据库对象,比如表明或者字段名称。使用的时候需要注意。

决定还是改用pagebounds排序

共有 人打赏支持
粉丝 0
博文 1
码字总数 279
×
lnt123
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: