Mybatis使用入门,这一篇就够了 (5)

1.添加jar包

<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <!--自动下载最新版本 --> <version>REALSE</version> </dependency>

2.配置拦截器插件

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

3.代码使用

只有在查询之前调用过startPage或者是offsetPage方法,后面的查询出来的List结果就会进行分页查询

下面的两个都是查询第一页,每一页有10条数据

//第二种,Mapper接口方式的调用,推荐这种使用方式。 PageHelper.startPage(1, 10); List<Employee> employees = employeeMapper.selectAll(); //第三种,Mapper接口方式的调用,推荐这种使用方式。 PageHelper.offsetPage(1, 10); List<Employee> employees = employeeMapper.selectAll();

这里提一下,这个插件还带有一个PageInfo类,里面有可以记录各种信息

刚开始,我以为是和我之前自己封装的Page一样,详情请看Jsp学习笔记(4)——分页查询

但是,其实不一样的,这个PageInfo就是一个封装而已,只是用来存放数据而已,里面有各种信息

属性 说明
pageNum   当前页号(第几页)  
pageSize   每页的显示的数据个数  
size   当前页的显示的数据个数  
startRow   当前页面第一个元素在数据库中的行号  
endRow   当前页面最后一个元素在数据库中的行号  
pages   总页数  
prePage   上一页的页号  
nextPage   下一页页号  
isFirstPage   是否为第一页  
isLastPage   是否为最后一页  
hasPreviousPage   是否有前一页  
hasNextPage   是否有下一页  
navigatePages   导航页码数  
navigatepageNums   所有导航页号  
navigatePages   导航条上的第一页  
navigateFirstPage   导航条上的第一页  
navigateLastPage   导航条上的最后一页  
PageHelper.startPage(1, 10); List<Employee> employees = mapper.selectAll(); PageInfo<Employee> pageInfo = new PageInfo<>(employees);

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypgwj.html