1

在SpringMVC中,我们可以使用@SortDefault@PageableDefault来快速的完成Pageable的默认排序。

我们能查询到的大多数是对某一个字段进行排序:

@PageableDefault(sort = {"weight"}, direction = Sort.Direction.DESC)
                                 Pageable pageable
@SortDefault(sort = {"weight"}, direction = Sort.Direction.ASC) Pageable pageable

或者对某几个字段进行排序,但排序的规则是相同的(比如均为升序):

@SortDefault(sort = {"weight", "createTime"}, direction = Sort.Direction.ASC) Pageable pageable

如果我们想设置多个排序字段,且各个排序字段的排序方式还不一致,则可以使用如下代码:

  public Page<Notice> page(@SortDefault.SortDefaults({
      @SortDefault(sort = {"weight"}, direction = Sort.Direction.ASC),
      @SortDefault(sort = {"createTime"}, direction = Sort.Direction.DESC)})
                                 Pageable pageable) {

此时,上述代码便起到了先按weight进行升序排列,然后再按createTime进行逆序排序。


潘杰
3.1k 声望238 粉丝