在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進行逆序排序。