写通用方法给LambdaQueryWrapper<T> queryWrapper添加排序
时间: 2024-09-15 14:05:13 浏览: 47
`LambdaQueryWrapper<T>` 是阿里巴巴开源的 MyBatis Plus 中的一个工具类,它为 SQL 过滤、排序、分页等操作提供了便利的方法。如果你想为 `queryWrapper` 添加排序功能,你可以创建一个通用方法,接收一个表示排序条件的参数,例如一个 Lambda 表达式。
下面是一个示例:
```java
import com.baomidou.mybatisplus.core.query.LambdaQueryWrapper;
/**
* 通用的排序方法,用于 LambdaQueryWrapper 的排序
*/
public <T extends Model> void addSort(LambdaQueryWrapper<T> queryWrapper, String column, OrderEnum order) {
switch (order) {
case ASCENDING:
queryWrapper.orderByAsc(column);
break;
case DESCENDING:
queryWrapper.orderByDesc(column);
break;
default:
throw new IllegalArgumentException("Unsupported sort order: " + order);
}
}
```
在这个例子中,`Model` 是你的基础实体类,`column` 是你想要排序的列名,`OrderEnum` 是一个枚举类,定义了升序(ASCENDING)和降序(DESCENDING)的排序方向。这个方法可以根据传入的排序指示对查询进行相应的调整。
阅读全文