pageHelper实现分页

   最近做的一个项目在持久层我们采用的是Mybatis今天完成了商品列表的分页查询的功能,这篇博客我分享一下如何采用pageHelper的插件实现分页。mybatis的应用,最大的好处就在于我们可以更加方便灵活的编写我们的sql语句,实现对单表或者多表的增删改查,在这基础上我们使用pageHelper插件实现分页更加方便了我们对项目的开发,提高了开发效率,我们以实现商品列表的查询为背景,详细介绍一下如何应用这个插件简单的实现分页功能。

1、jar包引入

    我们项目中在依赖管理方面采用的是Maven,所以想要引入分页的jar包,我们需要配置三坐标:


	com.github.pagehelper
	pagehelper
	${pagehelper.version}

2、配置mybatis的拦截器:


    
	
		
			
			
		
	

3、编写service层

   页面采用的是easyUI的框架,页面接收数据采用的是json格式,所以在数据传输过程中,我们把最终的结果封装在一个实体里面,就需要在增加一个分页实体类:EUDataGridResult

package com.taotao.common.pojo;

import java.util.List;

public class EUDataGridResult {
      //结果总数
	private long total;
      //结果行数
	private List rows;
	public long getTotal() {
		return total;
	}
	public void setTotal(long total) {
		this.total = total;
	}
	public List getRows() {
		return rows;
	}
	public void setRows(List rows) {
		this.rows = rows;
	}
	
}
   编写业务层代码,增加分页处理,设置返回对象:
/**
	 * 分页查询商品列表信息
	 */
	@Override
	public EUDataGridResult getItemByList(int page, int rows) {
		//查询商品列表
		TbItemExample example=new TbItemExample();
		//分页处理
		PageHelper.startPage(page, rows);
		List list=itemMapper.selectByExample(example);
		//创建一个返回值对象
		EUDataGridResult result=new EUDataGridResult();
		//设置返回结果
		result.setRows(list);
		//设置返回的总记录数
		PageInfo pageInfo=new PageInfo<>(list);
		result.setTotal(pageInfo.getTotal());
		return result;
	}

4、编写前端控制层controller代码:

   Controller中主要功能是接收页面传过来的参数,并且返回json类型的数据结果:

/**
	 * 分页查询商品信息列表
	 * @param page
	 * @param rows
	 * @return
	 */
	@RequestMapping("/item/list")
	@ResponseBody
	public EUDataGridResult getItemList(Integer page,Integer rows){
		EUDataGridResult result=itemService.getItemByList(page, rows);
		return result;
	}

5、jsp的页面:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
商品ID 商品标题 叶子类目 卖点 价格 库存数量 条形码 状态 创建日期 更新日期

6、最后的实现结果

pageHelper实现分页_第1张图片





你可能感兴趣的:(pageHelper实现分页)