使用PageHelper完成列表的显示分页(后台代码编写)

引言

使用pageHelper进行数据查询,显示分页,大大减少了后台的代码编写复杂度,下面是本人的一个简单的springboot项目里面的Controller层代码的小例子演示.

首先需要在pom文件里加入PageHelper的相关依赖

<dependency>
	<!-- 对应mybatis3.4.5 -->
	<groupId>tk.mybatis</groupId>
	<artifactId>mapper-spring-boot-starter</artifactId>
	<version>1.2.1</version>
</dependency>

Controller层代码


@Autowired
private UserService userService;

@RequestMapping(value = "/getList" , method = {RequestMethod.POST , RequestMethod.GET})
@ResponseBody
public PageInfo<User> getList(User user , 
	@RequestParam(value = "pageNum" , defaultValue = "1")Integer pageNum,
	@RequestParam(value = "pageSize" , defaultValue = "10")Integer pageSize){
		PageInfo<User> list = userService.selectList(pageNum , pageSize , user);	
		return list;
}

前台接收到的数据是一组json数据,如下所示

{	
	"pageNum":1,
	"pageSize":10,
	"size":10,
	"startRow":1,
	"endRow":10,
	"total":157,
	"pages":16,
	"list":[{"id":"1","name":"张三","age":"25"},{"id":"2","name":"李四","age":"23"},{"id":"3","name":"王五","age":"28"},......{"id":"157","name":"张某","age":"26"}],
	"prePage":0,
	"nextPage":2,
	"isFirstPage":true,
	"isLastPage":false,
	"hasPreviousPage":false,
	"hasNextPage":true,
	"navigatePages":8,
	"navigateNums":[1,2,3,4,5,6,7,8],
	"navitageFirstPage":1,
	"navigateLastPage":8,
	"firstPage":1,
	"lastPage":8
}

当然了,这些数据如果在浏览器看的话会密密麻麻的显示在页面,为了方便大家看数据的格式和信息,我才把数据梳理了一下,具体的大家可以自己尝试着去写一写!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
PageHelper是一个基于MyBatis的分页插件,可以轻松地对查询结果进行分页处理。下面是使用PageHelper进行网页分页的步骤: 1. 在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.2.0</version> </dependency> ``` 2. 在MyBatis配置文件中添加PageHelper插件: ``` <plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"/> </plugins> ``` 3. 在查询方法中使用PageHelper.startPage方法来指定分页信息,例如: ``` int pageNum = 1; // 当前页码 int pageSize = 10; // 每页显示的记录数 PageHelper.startPage(pageNum, pageSize); List<User> userList = userDao.findAll(); ``` 4. 在JSP页面中使用PageInfo对象来显示分页导航和记录信息,例如: ``` <%@ page import="com.github.pagehelper.PageInfo" %> <% PageInfo<User> pageInfo = new PageInfo<>(userList); List<User> list = pageInfo.getList(); // 当前页的记录列表 int pages = pageInfo.getPages(); // 总页数 int pageNum = pageInfo.getPageNum(); // 当前页码 int pageSize = pageInfo.getPageSize(); // 每页显示的记录数 %> <ul> <% for (User user : list) { %> <li><%= user.getName() %></li> <% } %> </ul> <div class="pagination"> <% if (pageNum > 1) { %> <a href="?pageNum=<%= pageNum - 1 %>">上一页</a> <% } %> <% for (int i = 1; i <= pages; i++) { %> <% if (i == pageNum) { %> <span><%= i %></span> <% } else { %> <a href="?pageNum=<%= i %>"><%= i %></a> <% } %> <% } %> <% if (pageNum < pages) { %> <a href="?pageNum=<%= pageNum + 1 %>">下一页</a> <% } %> </div> ``` 这样就可以使用PageHelper进行网页分页了。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值