mybatisplus多條件分頁以及排序的幾種方式區別


第一種:
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"]
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM