mybatisplus 排序
时间: 2023-05-31 13:04:12 浏览: 115
MybatisPlus 排序可以通过 QueryWrapper 或 LambdaQueryWrapper 对象的 orderBy 方法来实现。
示例:
```
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.orderByDesc("age"); // 按照 age 字段降序排序
List<User> userList = userMapper.selectList(wrapper);
```
LambdaQueryWrapper 的用法类似,只是使用 Lambda 表达式来构建查询条件和排序条件。
```
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.orderByDesc(User::getAge); // 按照 age 字段降序排序
List<User> userList = userMapper.selectList(wrapper);
```
相关问题
mybatisplus排序
MyBatis-Plus 支持多种排序方式,可以通过 QueryWrapper 的 orderBy 方法来实现,例如:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.orderByAsc("age"); // 按年龄升序排序
wrapper.orderByDesc("create_time"); // 按创建时间降序排序
```
除了 orderBy 方法外,Wrapper 还提供了一些其他的排序方法,如:
- orderByAsc:升序排序
- orderByDesc:降序排序
- orderByAscNullsFirst:升序排序,null 值排在最前面
- orderByAscNullsLast:升序排序,null 值排在最后面
- orderByDescNullsFirst:降序排序,null 值排在最前面
- orderByDescNullsLast:降序排序,null 值排在最后面
示例:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.orderByAsc("age"); // 按年龄升序排序
wrapper.orderByDesc("create_time"); // 按创建时间降序排序
wrapper.orderByAscNullsFirst("name"); // 按名称升序排序,null 值排在最前面
```
mybatisplus 排序分页
MyBatis-Plus 提供了一些方便的方法来实现排序和分页操作。
排序:
MyBatis-Plus 提供了 `orderByAsc` 和 `orderByDesc` 方法来进行升序和降序排序。
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.orderByAsc("age"); // 按照 age 字段升序排序
wrapper.orderByDesc("create_time"); // 按照 create_time 字段降序排序
```
分页:
MyBatis-Plus 提供了 `Page` 类来实现分页操作,可以通过 `Page` 类的构造方法来指定分页信息。
```java
Page<User> page = new Page<>(1, 10); // 查询第 1 页,每页 10 条记录
IPage<User> userIPage = userMapper.selectPage(page, null); // 执行分页查询,第二个参数为查询条件
```
除了使用 `Page` 类进行分页查询,MyBatis-Plus 还提供了一些其他的分页方法,如 `selectMapsPage`、`selectObjsPage` 等。具体使用方法可以参考官方文档:https://mp.baomidou.com/guide/page.html
阅读全文