ireport 分页配置每也显示多少条_最简洁的分页插件PageHelper

54b87b2aa42f76ee335d7552c057042e.png

最简洁的分页插件PageHelper

简介

    大部分后台管理项目,用的最多的展现方式是列表显示,所以我把列表查询中的分页插件拿出来写一下,方便以后写代码的时候直接复制粘贴。在我们最熟悉的springboot微服务开发中,持久型框架mybatis使用PageHelper还是比较方便的。下面我们来看一下分页插件PageHelper的简单使用方法。

01

首先在pom.xml中pageHelper引入

<dependencies>        <dependency>        <groupId>com.github.pagehelpergroupId>        <artifactId>pagehelperartifactId>        <version>4.1.6version>    dependency>     <dependency>        <groupId>org.mybatisgroupId>        <artifactId>mybatisartifactId>        <version>3.4.6version>    dependency>       <dependency>        <groupId>mysqlgroupId>        <artifactId>mysql-connector-javaartifactId>        <scope>runtimescope>    dependency>dependencies>

02

配置application.yml文件

#数据库链接datasource:    driver-class-name: com.mysql.cj.jdbc.Driver  #com.mysql.jdbc.Driver    url: jdbc:mysql://127.0.0.1:3306/hzc_db?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC    username: root    password: root    tomcat:      initial-size: 5      max-active: 30#配置mybatismybatis:    mapperLocations: classpath:mybatis/mapper*.xml    typeAliasesPackage: com.ten.cn.*.model#配置pageHelperpageHelper:  reasonable: "true"  supportMethodsArguments: "true"  returnPageInfo: check  params: count=countSql

03

建立一个分页传输数据的实体,用来传输当前页和分页条数

package com.ten.ms.cn.sys.bean;import com.ten.ms.cn.sys.model.User;/*** * 用户分页实体 * @author:lcj */public class UserPageInvo extends User {    /**     * 页数     */    private Integer page;    /**     * 条数     */    private Integer rows;    public Integer getPage() {        return page;    }    public void setPage(Integer page) {        this.page = page;    }    public Integer getRows() {        return rows;    }    public void setRows(Integer rows) {        this.rows = rows;    }}

05

创建一个分页配置方法

package com.ten.ms.cn.common.config;import com.github.pagehelper.PageHelper;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import java.util.Properties;/*** * 分页配置 * @author:lcj */@Configurationpublic class PageHelperConfig {    /**     * 配置mybatis的分页插件pageHelper     *     * @return     */    @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", "postgresql");//配置postgresql数据库的方言支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库        pageHelper.setProperties(properties);        return pageHelper;    }}

06

创建一个返回实体

package com.ten.ms.cn.common.bean;/** * 全局统一json返回值接口 * * @author user */public class ResultInfo {    /**     * 错误编号     */    private String errorCode = "0";    private String code = "200";    /**     * 错误信息     */    private String errorMessage;    /**     * 包装实体     */    private Object data;    /**     * 返回dataGrid的总页数     */    private long total;    public ResultInfo() {    }    /**     * 返回分页数据数据     */    private Object rows;    public ResultInfo(String errorCode, String errorMessage, Object data, long total, Object rows) {        this.errorCode = errorCode;        this.errorMessage = errorMessage;        this.data = data;        this.total = total;        this.rows = rows;    }    public ResultInfo(String errorCode, String errorMessage, Object data) {        this.errorCode = errorCode;        this.errorMessage = errorMessage;        this.data = data;    }    public String getErrorCode() {        return errorCode;    }    public void setErrorCode(String errorCode) {        this.errorCode = errorCode;    }    public String getErrorMessage() {        return errorMessage;    }    public void setErrorMessage(String errorMessage) {        this.errorMessage = errorMessage;    }    public Object getData() {        return data;    }    public void setData(Object data) {        this.data = data;    }    public long getTotal() {        return total;    }    public void setTotal(long total) {        if ((int) total == 0) {            total = 1;        }        this.total = total;    }    public Object getRows() {        return rows;    }    public void setRows(Object rows) {        this.rows = rows;    }    public String getCode() {        return code;    }    public void setCode(String code) {        this.code = code;    }}

07

简单的分页实例

@RequestMapping(value = "/getUserList", method = {RequestMethod.GET, RequestMethod.POST})@ResponseBodypublic ResultInfo getUserList(@RequestBody SysUserPageInvo sysUserPageInvo) {    // 定义传参    int page = sysUserPageInvo != null && sysUserPageInvo.getPage() != null ? sysUserPageInvo.getPage() : 0;// 当前页数    int rows = sysUserPageInvo != null && sysUserPageInvo.getRows() != null ? sysUserPageInvo.getRows() : 10;//一页多少条数据    ResultInfo result = new ResultInfo();    PageHelper.startPage(page, rows);  // 获取数据    List list = this.sysUserService.getUserList(sysUserPageInvo);    PageInfo pageInfo = new PageInfo(list);  // 当前分页数据    Page pages = (Page) list;  // 总共多少条数据    result.setTotal(pageInfo.getTotal());    result.setRows(pages);        return result;}

08

最终的页面展示

1af9aa6bb998eb81141a3827267f27c4.png

    PageHelper的使用大概就是这样返回给前台的数据是当前分页的list列表和数据的总数。同样如果后台返回固定的json格式数据,前台自动加载到列表控件中。后续我会分享更多的技术相关的内容,请大家多多关注。

6dcd0935e0603dc163cda1c4efd567d2.gif

扫码关注我们

7befc1bc83cea179326531fffa3e6493.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值