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"]
}
posted @ 2022-01-20 10:37  小傻孩丶儿  阅读(6071)  评论(0编辑  收藏  举报