12、分页插件

本文详细介绍了SSM框架中使用PageHelper进行分页操作的步骤和方法,包括添加依赖、配置分页插件、使用PageHelper.startPage()、PageInfo对象的创建及使用。同时,讨论了Limit和RowBounds两种不同的分页实现方式,分别给出了对应的Mapper接口、Mapper.xml配置及测试示例。
摘要由CSDN通过智能技术生成


【尚硅谷】SSM框架全套教程-讲师:杨博超

失败,是正因你在距成功一步之遥的时候停住了脚步。

12、分页插件

PageHelper官网
官网文档

limit index,pageSize
pageSize:每页显示的条数
pageNum:当前页的页码
index:当前页的起始索引,index=(pageNum-1)*pageSize
count:总记录数
totalPage:总页数
totalPage = count / pageSize;
if(count % pageSize != 0){
totalPage += 1;
}
pageSize=4,pageNum=1,index=0 limit 0,4
pageSize=4,pageNum=3,index=8 limit 8,4
pageSize=4,pageNum=6,index=20 limit 8,4

首页 上一页 2 3 4 5 6 下一页 末页

12.1、使用步骤

1 添加依赖

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.2.0</version>
</dependency>

2 配置分页插件

MyBatis 配置 xml 中配置拦截器插件

特别注意,新版拦截器是 com.github.pagehelper.PageInterceptor。

com.github.pagehelper.PageHelper 现在是一个特殊的 dialect 实现类,是分页插件的默认实现类,提供了和以前相同的用法。

<!--
    plugins在配置文件中的位置必须符合要求,否则会报错,顺序如下:
    properties?, settings?,
    typeAliases?, typeHandlers?,
    objectFactory?,objectWrapperFactory?,
    plugins?,
    environments?, databaseIdProvider?, mappers?
-->
<plugins>
    <!-- com.github.pagehelper为PageHelper类所在包名 -->
    <plugin interceptor="com.github.pagehelper.PageInterceptor">
	</plugin>
</plugins>

3 使用:方式一

mapper.xml中的查询语句不用写LIMIT,分页插件会自动添加,只需要写正常查询就可以

例:select * from 表。即可

使用PageHelper

DynamicSQLMapper接口

// 查询全部员工
List<Emp> getEmp();

DynamicSQLMapper.xml

不要再sql语句结尾加;,加了会报错。

(org.apache.ibatis.exceptions.PersistenceException:)

(select emp_id, emp_name, age, gender, dept_id from t_emp; LIMIT ?)

<!--List<Emp> getEmp();-->
<select id="getEmp" resultType="emp">
    select emp_id, emp_name, age, gender, dept_id
    from t_emp
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值