关于实体类中写了orderBy导致报错的记录

在测试排序的过程中出现了问题

 然而在mybatis中是这样写的

测试了很多 也没找到为什么会出现order by 0 的原因

后来搜索了order 0 的的含义:

含义:

sql语句中order by 1或者order by 2...order by N

其实1表示第一个栏位,2表示第二栏位; 

依此类推,当表中只有2个栏位时,oder by 3就会出错,这个跟order by 列名没有什么区别,不过在特殊情况下还是很有用的.

注意:

ORDER BY ASC应该没有这样写法,ORDER BY 后面不是字段就是数字;

可以ORDER BY 1 ASC 或者ORDER BY COL1 ASC ;

ASC表示按升序排序,DESC表示按降序排序

这是我的传参

 因为select的查询不可能有第0个栏位,所以会报开头图片的错误,order by 1 就是按照搜索的第一个字段排序,但是这不是我想要的排序,我想是不是因为实体类中有 orderBy 会直接影响排序。果然我把mybatis的排序删掉,当我orderBy传参时传多少,sql中就会 order by多少。当我把实体类中orderBy替换为sortBy时问题解决。

 总结:尽量避免实体类中出现sql中的关键词,避免出现问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值