关于查询排序DTO的封装

简介: DTO:public class SortDto { //排序方式 private String orderType; //排序字段 private String orderField; public String getOrderField() {...

DTO:

public class SortDto {

    //排序方式
    private String orderType;

    //排序字段
    private String orderField;

    public String getOrderField() {
        return orderField;
    }

    public void setOrderField(String orderField) {
        this.orderField = orderField;
    }

    public String getOrderType() {
        return orderType;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    public SortDto(String orderType, String orderField) {
        this.orderType = orderType;
        this.orderField = orderField;
    }

    //默认为DESC排序
    public SortDto(String orderField) {
        this.orderField = orderField;
        this.orderType = "desc";
    }
}

 

 

查询排序工具类的封装:

public class SortTools {

    public static Sort basicSort() {
        return basicSort("desc", "id");
    }

    public static Sort basicSort(String orderType, String orderField) {
        Sort sort = new Sort(Sort.Direction.fromString(orderType), orderField);
        return sort;
    }

    public static Sort basicSort(SortDto... dtos) {
        Sort result = null;
        for(int i=0; i<dtos.length; i++) {
            SortDto dto = dtos[i];
            if(result == null) {
                result = new Sort(Sort.Direction.fromString(dto.getOrderType()), dto.getOrderField());
            } else {
                result = result.and(new Sort(Sort.Direction.fromString(dto.getOrderType()), dto.getOrderField()));
            }
        }
        return result;
    }
}

 

相关文章
|
6月前
|
数据库
mybatisplus返回指定字段的两种方式
mybatisplus返回指定字段的两种方式
348 1
原生php实现列表接口+分页接口+排序接口组合使用+包括测试数据(不加任何封装)
原生php实现列表接口+分页接口+排序接口组合使用+包括测试数据(不加任何封装)
原生php实现列表接口+分页接口+排序接口组合使用+包括测试数据(不加任何封装)
|
6月前
|
设计模式 前端开发 Java
DTO和VO的区别及使用场景详解
DTO和VO的区别及使用场景详解
4413 0
|
JSON Java Apache
Bean自动映射工具对比及VO、DTO、PO、DO对象之间的转换
在实际的开发过程中,常常遇到各个层之间对象转换,比如 VO、DTO、PO、DO 等,而如果都是手动set、get,一旦属性较多时,操作起来不仅麻烦,而且浪费时间,因此经常会使用一些工具类,进行对象之间的转换,下面将对象与对象之间转换的方式进行对比,一级对象间的使用进行总结。
Bean自动映射工具对比及VO、DTO、PO、DO对象之间的转换
|
SQL Java 数据库
【MybatisPlus】MP的分页查询、多条件查询以及查询过程中解决null的空值判定
分页查询、多条件查询以及查询过程中解决null的空值判定
1520 0
【MybatisPlus】MP的分页查询、多条件查询以及查询过程中解决null的空值判定
|
6月前
|
索引
单列集合顶层接口Collection
单列集合顶层接口Collection
36 1
|
5月前
|
SQL 开发框架 .NET
【Entity Framework】聊聊单个查询与拆分查询
【Entity Framework】聊聊单个查询与拆分查询
35 0
|
6月前
|
SQL Java 数据库
java代码中调用dao层查询接口,代码没有返回数据,打印出的sql查出了数据
java代码中调用dao层查询接口,代码没有返回数据,打印出的sql查出了数据
34 1
|
Java
jpa实现增删改查,分页,自定义查询,jpql查询
jpa实现增删改查,分页,自定义查询,jpql查询
88 0
|
6月前
|
SQL Java Spring
MybatisPlus-条件查询方式及多条件构建查询
MybatisPlus-条件查询方式及多条件构建查询
839 0