在测试排序的过程中出现了问题
然而在mybatis中是这样写的
测试了很多 也没找到为什么会出现order by 0 的原因
后来搜索了order 0 的的含义:
含义:
sql语句中order by 1或者order by 2...order by N
其实1表示第一个栏位,2表示第二栏位;
依此类推,当表中只有2个栏位时,oder by 3就会出错,这个跟order by 列名没有什么区别,不过在特殊情况下还是很有用的.
注意:
扫描二维码关注公众号,回复:
15991249 查看本文章
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中的关键词,避免出现问题。