Mybatisplus实现在不分页时进行排序操作以及用分页接口实现全量查询

Stella981
• 阅读 925

优化分页插件实现在不分页时进行排序操作 原生mybatisplus分页与排序是绑定的,mpp优化了分页插件,使用MppPaginationInterceptor插件
在不分页的情况下支持排序操作
page参数size设置为-1可实现不分页取全量数据,同时设置OrderItem可以实现排序

使用MppPaginationInterceptor插件

    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new MppPaginationInterceptor();
    }

mapper中按照一般分页接口定义,同时支持返回值为list或page对象的写法

@Mapper
public interface TestMapper extends BaseMapper<TestEntity> {
    public List<JoinEntity> queryUseRM(Page page);
}

page参数设置size=-1为全量查询,size>0时正常分页,设置OrderItem进行无论是否分页都实现排序

    public void testOrder(){
        Page page=new Page();
        page.setSize(-1);
        page.addOrder(new OrderItem().setColumn("test.id").setAsc(true));
        page.addOrder(new OrderItem().setColumn("test2.some2").setAsc(true));
        List rp=testMapper.queryUseRM(page);
    }

demo下载 mybatisplus-plus 1.3.0 示例工程下载地址 链接:https://pan.baidu.com/s/1wyMBHS4ke_oLEEYOld6-jQ

扫描订阅公众号,回复"plus"获取下载密码 Mybatisplus实现在不分页时进行排序操作以及用分页接口实现全量查询

点赞
收藏
评论区
推荐文章
菜鸟阿都 菜鸟阿都
3年前
pageHelper一对多分页解决方案
前言   pageHelper是一款优秀的Mybatis分页插件,在项目中可以非常便利的使用,使开发效率得到很大的提升,但不支持一对多结果映射的分页查询,所以在平时的使用时,对于一对多分页会出现分页错误,这篇文章主要对pageHelper分页错误进行重现以及提出解决方案。分析    mybatis进行一对多查询时,映射文件(mapper.xml
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
3年前
Mybatis 通用Crud
更新日志<!20161113更新start1新增批量操作数据方法:批量插入,根据条件删除,根据条件更新指定的列名字段值。2新增高级查询方法:可设置查询列,查询条件,排序,分页。3根据1、2更新接口。4更改dao接口方法实现方式,统一采用GeneralMapper.xml编写sql,弃用General
Wesley13 Wesley13
3年前
MyBatis学习总结(17)——Mybatis分页插件PageHelper
如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件。分页插件支持任何复杂的单表、多表分页,部分特殊情况请看重要提示(http://git.oschina.net/free/Mybatis_PageHelper/blob/master/wikis/Important.markdown)。想要使用分页插件?请看如何使用分页
Stella981 Stella981
3年前
SpringBoot学习之路:05.Spring Boot集成pagehelper分页插件
      前面说了SpringBoot集成持久层框架Mybatis的过程,和使用mybatis进行对数据库进行CRUD的操作,然而当对多数据进行查询时就需要进行分页了,分页技术分为客户端分页和服务器端分页(数据库分页),客户端分页是前端的数据插件对返回的数据集进行分页(bootstruptable、quitable等),客户端分页会对数据库和客
Wesley13 Wesley13
3年前
Mysql order by与limit混用陷阱
在Mysql中我们常常用orderby来进行排序,使用limit来进行分页,当需要先排序后分页时我们往往使用类似的写法select\from表名orderby排序字段limtM,N。但是这种写法却隐藏着较深的使用陷阱。在排序字段有数据重复的情况下,会很容易出现排序结果与预期不一致的问题。比如现在有一张user表,表结构及数据如下:
Easter79 Easter79
3年前
SpringBoot学习之路:05.Spring Boot集成pagehelper分页插件
      前面说了SpringBoot集成持久层框架Mybatis的过程,和使用mybatis进行对数据库进行CRUD的操作,然而当对多数据进行查询时就需要进行分页了,分页技术分为客户端分页和服务器端分页(数据库分页),客户端分页是前端的数据插件对返回的数据集进行分页(bootstruptable、quitable等),客户端分页会对数据库和客
Stella981 Stella981
3年前
JFinal各种场景(PC、APP、微信小程序等)分页方案
JFinal专题之分页解决方案【课程介绍】 详细介绍数据库分页原理,自己动手封装前端分页组件,然后介绍第三方的js分页组件,集成laypage插件,了解各种分页模式,不管是跳转分页,数据库分页、前端分页、滚动加载分页、ajax数据分页、APP移动端分页、微信小程序分页等【课程目标】 掌握数据库分页原理,熟练使用JFinal操作数据库分页查
Stella981 Stella981
3年前
Elasticsearch分页解决方案
一、命令的方式做分页1、常见的分页方式:fromsizeelasticsearch默认采用的分页方式是fromsize的形式,但是在深度分页的情况下,这种使用方式的效率是非常低的,比如from5000,size10,es需要在各个分片上匹配排序并得到5000\10条有效数据,然后在结果集中取最后10条数据返回。除了会遇到效率上的问题
研发日常踩坑-Mysql分页数据重复 | 京东云技术团队
踩坑描述:写分页查询接口,orderby和limit混用的时候,出现了排序的混乱情况在进行第N页查询时,出现与第一前面页码的数据一样的记录。问题在MySQL中分页查询,我们经常会用limit,如:limit(0,20)表示查询第一页的20条数据,limit