mybatisplus 分页中 使用order by 在视图、内联函数、派生表、子查询和公用表表达式中无效。
时间: 2024-03-23 11:36:36 浏览: 102
mybatis-plus分页查询
MyBatis-Plus 分页插件的实现是利用了数据库的分页语法,而对于视图、内联函数、派生表、子查询和公用表表达式等情况,由于这些情况下 SQL 语句生成的方式与普通的表查询不同,因此在使用 MyBatis-Plus 分页插件的时候,order by 语句可能会失效。
针对这种情况,可以考虑将 SQL 语句的 order by 语句放在子查询中进行处理,或者使用 MyBatis-Plus 提供的内置方法进行排序,例如:
```java
Page<User> page = new Page<>(1, 10);
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByDesc("id");
IPage<User> userPage = userService.page(page, queryWrapper);
```
在上述代码中,使用了 QueryWrapper 的 orderByDesc 方法进行排序,可以在 MyBatis-Plus 分页插件中使用。
阅读全文