SpringBoot +Mybatis 的Mysql分页实现

前言

每次写一个项目的时候,如果涉及到分页,总会感觉写起来不舒服,通常需要在xml 里面写分页语句,还要写一个查询总数的语句,这样总感觉不是特别优雅。现在在网上找了个Mybatis分页插件,用着特别舒服,给大家介绍下。

PageHelper

作者是中国的一个的程序员,项目地址
https://git.oschina.net/free/Mybatis_PageHelper

使用方法

官网已经有详细的使用方法,这里简单介绍下如何整合SpringBoot+Mybatis.
其实很简单,他已经有了springboot 的start包,完全零配置。
1.引入依赖

  <!--分页-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.1.3</version>
        </dependency>

2.使用
在你需要分页调用mapper方法时

PageHelper.offsetPage(1, 10);
List<Country> list = countryMapper.selectIf(1);

获取总数total的方法

//count查询,返回一个查询语句的count数
long total = PageHelper.count(new ISelect() {
    @Override
    public void doSelect() {
        countryMapper.selectLike(country);
    }
});

个人感觉最简单优雅的方式是直接使用java8的lamda表达式直接获取一个完整的page对象,其中包括了 页数,条数等等详细信息代码如下

pageInfo = PageHelper.startPage(1, 10).doSelectPageInfo(() -> countryMapper.selectGroupBy());

返回值pageInfo大概是这样的

{
        "endRow": 3,
        "firstPage": 1,
        "hasNextPage": true,
        "hasPreviousPage": false,
        "isFirstPage": false,
        "isLastPage": false,
        "lastPage": 2,
        "list": [
            //查询到的结果集
        ],
        "navigateFirstPage": 1,
        "navigateLastPage": 2,
        "navigatePages": 8,
        "navigatepageNums": [
            1,
            2
        ],
        "nextPage": 1,
        "pageNum": 0,
        "pageSize": 3,
        "pages": 2,
        "prePage": 0,
        "size": 3,
        "startRow": 1,
        "total": 6
    }

可以看到是真的很简单和优雅。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 11,207评论 0 4
  • 官方文档 简介 入门 XML配置 XML映射文件 动态SQL Java API SQL语句构建器 日志 一、 JD...
    拾壹北阅读 8,870评论 0 52
  • 奶奶的小脚 踩着纤绳一样的小路 来往了她的一生 她最后一次关上门 她也许厌倦了尘世的谎言 她也许 不再希望看到任何...
    岛上君阅读 1,139评论 0 0
  • 2015暑假8月2日00:50记,在今年刚封上的走廊里的小竹床睡了一个暑假。。。。。。 午夜的雨转眼间就停了,大肚...
    洛处馨止落冬霜阅读 2,047评论 0 0
  • 微组 1 离家的孩子 心中无挂牵 家乡在哪里 远隔 千重岭万重山 2 咫尺天涯 茫茫的路 尘封了 来时的记忆 3 ...
    向春光原创文学阅读 1,306评论 0 4

友情链接更多精彩内容