本示例使用了两个属性排序, 第一个升序, 第二个降序, 代码如下:
Sort.Order order1 = new Sort.Order(Sort.Direction.ASC, "authStatus");
Sort.Order order2 = new Sort.Order(Sort.Direction.DESC, "createTime");
List<Sort.Order> list = new ArrayList<>();
list.add(order1);
list.add(order2);
Sort sort = new Sort(list);
Pageable pageable = new PageRequest(page, pageSize, sort);
//也可以直接这样写
Pageable pageable = new PageRequest(page, pageSize, new Sort(order1, order2));
----------代码过时说明分割线----------
由于以上的PageRequest的构造写法已经过时, 下面给出替代写法:
Sort.Order order1 = new Sort.Order(Sort.Direction.ASC, "authStatus");
Sort.Order order2 = new Sort.Order(Sort.Direction.DESC, "createTime");
List<Sort.Order> list = new ArrayList<>();
list.add(order1);
list.add(order2);
Sort sort = Sort.by(list);
int page = 0;
int pageSize = 20;
//以下三种写法都可以
PageRequest pageRequest1 = PageRequest.of(page, pageSize, sort);
PageRequest pageRequest2 = PageRequest.of(page, pageSize, Sort.by(list));
PageRequest pageRequest3 = PageRequest.of(page, pageSize, Sort.by(order1, order2));