mybatis-plus 排序
时间: 2023-09-25 10:12:43 浏览: 120
在 MyBatis-Plus 中,可以使用 `orderBy` 方法进行排序操作。`orderBy` 方法接收一个参数,即排序的字段名。
以下是一个示例代码,展示如何使用 MyBatis-Plus 进行排序:
```java
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.enums.SqlKeyword;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
public class MyService {
@Autowired
private MyMapper myMapper;
public List<MyEntity> queryWithSorting(String sortingField) {
QueryWrapper<MyEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.orderBy(true, true, sortingField);
return myMapper.selectList(queryWrapper);
}
public IPage<MyEntity> queryWithSortingAndPagination(String sortingField, int currentPage, int pageSize) {
Page<MyEntity> page = new Page<>(currentPage, pageSize);
QueryWrapper<MyEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.orderBy(true, true, sortingField);
return myMapper.selectPage(page, queryWrapper);
}
}
```
在上述代码中,`queryWithSorting` 方法用于根据指定字段进行排序查询,并返回查询结果列表。`queryWithSortingAndPagination` 方法用于在排序的基础上,加上分页功能,返回分页查询结果。
注意,`orderBy` 方法的第二个参数用于指定是否是升序排序(默认为 true),第三个参数用于指定排序的字段名。
使用示例:
```java
List<MyEntity> result = myService.queryWithSorting("id");
```
这将按照 `id` 字段升序排序,并返回排序后的结果列表。
```java
IPage<MyEntity> resultPage = myService.queryWithSortingAndPagination("create_time", 1, 10);
```
这将按照 `create_time` 字段升序排序,并返回第一页,每页大小为 10 的分页结果。
阅读全文