spring boot 整合mybatis 分页插件pagehelper

   
        
            com.github.pagehelper
            pagehelper
            5.1.8
        

spring boot 整合mybatis 分页插件pagehelper_第1张图片

  //配置mybatis的分页插件pageHelper
    @Bean
    public PageHelper pageHelper() {
        PageHelper pageHelper = new PageHelper();
        Properties properties = new Properties();
        properties.setProperty("offsetAsPageNum", "true");
        properties.setProperty("rowBoundsWithCount", "true");
        properties.setProperty("reasonable", "true");
        properties.setProperty("dialect", "mysql");    //配置mysql数据库的方言
        pageHelper.setProperties(properties);
        return pageHelper;
    }

spring boot 整合mybatis 分页插件pagehelper_第2张图片

    int pageNum = 0;
        int PageSize = 0;
        long total = 0;
        //根据create_time降序
        String orderBy = "create_time desc";
        //装载分页信息
        PageHelper.startPage(pageCode, pageSize);

        JSONArray array = new JSONArray();
        com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject();
        List mapCover = massifMapMapper.getMapCover();
        //分页结果集
        PageInfo pageResult = new PageInfo<>(mapCover);
        //取出数据集
        List massiflist = pageResult.getList();
        pageNum = pageResult.getPageNum();//取出页数
        PageSize = pageResult.getPageSize();//取出条数
        total = pageResult.getTotal();//取出总条数

 

第二种方法:

PageHelper

    PageHelper 是一款好用的开源免费的MyBatis 第三方物理分页插件。

物理分页

支持常见的12中数据库。Oracle ,mybatis, marimDB SQLite、DB2、SqlServer 等。

Maven 依赖

首先需要在pom文件中加入



    com.github.pagehelper

    pagehelper-spring-boot-starter

    1.2.10

 

目前Pagehelper插件支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页,不同数据库只需要修改helperDialect就行。

   java代码中的使用如下:

  PageHelper.startPage(page, rows);

  List list = testService.find();

  PageInfo pageInfo = new PageInfo<>(list)





//例子:
         //根据create_time降序
        String orderBy = "create_time desc";
        //装载分页信息
        PageHelper.startPage(pageCode, pageSize,orderBy);
        JSONArray array = new JSONArray();
        com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject();
        List mapCover = massifMapMapper.getMapCover();
        //分页结果集
        PageInfo pageResult = new PageInfo<>(mapCover);

 第一行是设置页数和每页显示几条,插件会自动对接下来的sql语句加上分页方式。PageInfo中是分页的一些信息,包括总页数,当前页,总数据等。

 

你可能感兴趣的:(spring,boot,mysql/mybatis)