mybatis的 pagehelper 分页插件的使用

 使用Maven来管理项目

        <!-- 引入mybatis的 pagehelper 分页插件 -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>5.1.2</version>
        </dependency>

在mybatis的全局配置文件中配置PageHelper分页插件

<plugins>
	<!-- com.github.pagehelper 为 PageHelper 类所在包名 -->
<plugin interceptor="com.github.pagehelper.PageHelper">
	<!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL 六种数据库-->
	<property name="dialect" value="mysql"/>
</plugin>
</plugins>

PageHelper是基于拦截器实现的,使用它,需要先调用startPage给予对应的参数 int pageNum, int pageSize(它必须紧挨着查询语句)

在Service中的代码

public PageInfo<BcStaff> findPage(PageQuery pageQuery) {
        //利用PageHelper分页查询 注意:这个一定要放查询语句的前一行,否则无法进行分页,因为它对紧随其后第一个sql语句有效
//        PageHelper.startPage(pageNum, pageSize);
        //pageNum第几页,一页多少数据
        //由于本次前端请求的需要数据为(page:1, rows10),且我已经创建了pageQuery工具类
        //我按顺序依次传入工具类的值即可
        PageHelper.startPage(pageQuery.getPage(), pageQuery.getRows());
        //Mapper只需调用一次查询方法
        List<BcStaff> bcStaffs = bcStaffMapper.selectByExample(null);
        //将查询结果放在PageInfo中
        PageInfo<BcStaff> pageInfo = new PageInfo<BcStaff>(bcStaffs);
        return pageInfo;
    }

Pageinfo的使用方法,使用第2或者第三个(构造)方法,就可以使用右侧的属性了。

  它有三个构造方法 List<T>为需要分页的的集合,int为navigatePages(译为默认显示第几页)

总结:

需要使用 PageHelper.startPage(pageNum, pageSize); 执行Mapper查询语句,将结果放在PageInfo中,就可以使用PageInfo的属性了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值