您的位置:首页 > 编程语言 > Java开发

spring boot 整合mybatis 分页插件pagehelper

2019-06-01 10:23 666 查看
[code]   <!--mybatis分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.8</version>
</dependency>

[code]  //配置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;
}

[code]    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<MassifMap> mapCover = massifMapMapper.getMapCover();
//分页结果集
PageInfo<MassifMap> pageResult = new PageInfo<>(mapCover);
//取出数据集
List<MassifMap> massiflist = pageResult.getList();
pageNum = pageResult.getPageNum();//取出页数
PageSize = pageResult.getPageSize();//取出条数
total = pageResult.getTotal();//取出总条数

 

第二种方法:

PageHelper

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

物理分页

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

Maven 依赖

首先需要在pom文件中加入

[code]<dependency>

    <groupId>com.github.pagehelper</groupId>

    <artifactId>pagehelper-spring-boot-starter</artifactId>

    <version>1.2.10</version>

</dependency>

 

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

   java代码中的使用如下:

[code]  PageHelper.startPage(page, rows);

  List<Map> list = testService.find();

  PageInfo<Map> 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<MassifMap> mapCover = massifMapMapper.getMapCover();
//分页结果集
PageInfo<MassifMap> pageResult = new PageInfo<>(mapCover);

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

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: