Mybatis Plus整合PageHelper分页的实现示例
mapper plus自带分页paginationinterceptor对象,虽然说目前没有什么问题,并且使用简单,但是个人感觉有个弊端:目前个人使用中,想要用mapper plus自带的分页功能的话需要在mapper对象中传入一个page对象才可以实现分页,这样耦合度是不是太高了一点,从web到service到mapper,这个page对象一直都在传入,这样的使用让人感觉有点麻烦,但是mapper plus不得不说真的是很好用的。
pagehelper用过的人多多少少了解,这个框架要实现分页只要一行代码,所以我的想法是将两个好用的框架整合在一起。
1. pom引入
<dependency> <groupid>com.github.pagehelper</groupid> <artifactid>pagehelper-spring-boot-starter</artifactid> <version>1.2.3</version> <exclusions> <exclusion> <groupid>org.mybatis</groupid> <artifactid>mybatis</artifactid> </exclusion> <exclusion> <groupid>org.mybatis</groupid> <artifactid>mybatis-spring</artifactid> </exclusion> </exclusions> </dependency> <!-- mybatis-plus --> <dependency> <groupid>com.baomidou</groupid> <artifactid>mybatis-plus-boot-starter</artifactid> <version>3.1.0</version> </dependency>
我用的是spring boot框架,在pom中直接引入mapper plus和pagehelper就可以了;而使用的pagehelper包是整合springboot的包,个人感觉这种版本的只需要在配置文件中配置即可开箱试用非常便捷,但是这个包必须要去掉内置的mybatis依赖,不然会和mapper plus中的版本不一致
2. 配置文件
mapper plus的配置我就贴出来了,主要贴出pagehelper的配置
############# 分页插件pagehelper配置 ############# pagehelper.helper-dialect=mysql pagehelper.reasonable=true pagehelper.support-methods-arguments=true pagehelper.pagesizezero=true pagehelper.params=count=countsql
3. 使用
使用起来很方便,我用一个controller钟的list接口作为示范
@getmapping("/list") public result list(@paramcheck(notnull = false) integer projecttype, @paramcheck(notnull = false) integer projectstatus, @paramcheck(notnull = false) string departmentid, @paramcheck(notnull = false) string name, @paramcheck(defaultvalue = constant.page) integer page, @paramcheck(defaultvalue = constant.size) integer size){ if (page > 0 && size > 0){ pagehelper.startpage(page, size); } list<oaprojectdto> list = projectservice.list(projecttype, projectstatus, departmentid, name); pageinfo pageinfo = new pageinfo<>(list); return resultutil.success(pageinfo); }
pagehelper.startpage(page, size);这一行代码就实现了分页,而我做了一个判断的原因是,如若数据是要不分页展示所有的,那就不需要启动这行代码。
最后通pageinfo对象将数据包装返回即可。
到此这篇关于mybatis plus整合pagehelper分页的实现示例的文章就介绍到这了,更多相关mybatis plus pagehelper分页内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: 详解Python中的路径问题
下一篇: ffmpeg查看USB摄像头同时推流
推荐阅读
-
Mybatis-Plus自动填充的实现示例
-
ThinkPHP整合datatables实现服务端分页的示例代码
-
spring boot整合mybatis+mybatis-plus的示例代码
-
MyBatis整合Redis实现二级缓存的示例代码
-
MyBatis-plus+达梦数据库实现自动生成代码的示例
-
解决Mybatis-plus和pagehelper依赖冲突的方法示例
-
springboot 整合 Mybatis的分页插件 PageHelper
-
Spring boot整合Mybatis-plus分页插件的使用
-
Mybatis-plus多条件筛选分页的实现
-
Mybatis-Plus根据时间段去查询数据的实现示例