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

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

使用MppPaginationInterceptor插件

1 @Bean 2 public PaginationInterceptor paginationInterceptor() { 3 return new MppPaginationInterceptor(); 4 } 5

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

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

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

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

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

扫描订阅公众号,回复"plus"获取下载密码 Image text

点赞
收藏

评论区

加载中...

相关推荐

pageHelper一对多分页解决方案

前言   pageHelper是一款优秀的Mybatis分页插件,在项目中可以非常便利的使用,使开发效率得到很大的提升,但不支持一对多结果映射的分页查询,所以在平时的使用时,对于一对多分页会出现分页错误,这篇文章主要对pageHelper分页错误进行重现以及提出解决方案。分析    mybatis进行一对多查询时,映射文件(mapper.xml

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

Mybatis 通用Crud

更新日志<!20161113更新start1新增批量操作数据方法:批量插入,根据条件删除,根据条件更新指定的列名字段值。2新增高级查询方法:可设置查询列,查询条件,排序,分页。3根据1、2更新接口。4更改dao接口方法实现方式,统一采用GeneralMapper.xml编写sql,弃用General

MyBatis学习总结(17)——Mybatis分页插件PageHelper

如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件。分页插件支持任何复杂的单表、多表分页,部分特殊情况请看重要提示(http://git.oschina.net/free/Mybatis_PageHelper/blob/master/wikis/Important.markdown)。想要使用分页插件?请看如何使用分页

SpringBoot学习之路:05.Spring Boot集成pagehelper分页插件

      前面说了SpringBoot集成持久层框架Mybatis的过程,和使用mybatis进行对数据库进行CRUD的操作,然而当对多数据进行查询时就需要进行分页了,分页技术分为客户端分页和服务器端分页(数据库分页),客户端分页是前端的数据插件对返回的数据集进行分页(bootstruptable、quitable等),客户端分页会对数据库和客

Mysql order by与limit混用陷阱

在Mysql中我们常常用orderby来进行排序,使用limit来进行分页,当需要先排序后分页时我们往往使用类似的写法select\from表名orderby排序字段limtM,N。但是这种写法却隐藏着较深的使用陷阱。在排序字段有数据重复的情况下,会很容易出现排序结果与预期不一致的问题。比如现在有一张user表,表结构及数据如下: