第一種:
queryWrapper.orderByAsc("sort_code");
這種方式僅支持單個固定字段,固定排序方式排序,而且order by 在分頁計算total就已經加上了,效率多少是有些影響的 (select count(*) from table order by )
第二種
通過baomidou.page 自帶的 ascs[],desc[]數組,page.setAscs(),page.setDescs() 注入,就只會在查詢是進行 order by,計算分頁total不會加上order by,效率是會有提升
記憶第二種,支持多字段自定義排序方式,具體代碼如下
//基本的非空判斷
if(page.ascs()==null || page.ascs().length==0){
}else{
//字符串數組轉化成list集合
page.setAscs(new ArrayList<>(Arrays.asList(page.ascs())));
}
if(page.descs()==null || page.descs().length==0){
}else{
page.setDescs(new ArrayList<>(Arrays.asList(page.descs())));
}
//mybatis自帶的分頁
IPage iPage = ixxxxService.page(page);
postman傳值
{
"current":1,
"size":100,
"ascs":["sort_code"],
"desc":["id"]
}