pageHelper实现分页

原创 2016年05月31日 19:56:30

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

1、jar包引入

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

<dependency>
	<groupId>com.github.pagehelper</groupId>
	<artifactId>pagehelper</artifactId>
	<version>${pagehelper.version}</version>
</dependency>

2、配置mybatis的拦截器:

<configuration>
    <!-- 配置分页插件 -->
	<plugins>
		<plugin interceptor="com.github.pagehelper.PageHelper">
			<!-- 设置数据库类型 -->
			<property name="dialect" value="mysql"/>
		</plugin>
	</plugins>
</configuration>

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<TbItem> list=itemMapper.selectByExample(example);
		//创建一个返回值对象
		EUDataGridResult result=new EUDataGridResult();
		//设置返回结果
		result.setRows(list);
		//设置返回的总记录数
		PageInfo<TbItem> 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"%>
<table class="easyui-datagrid" id="itemList" title="商品列表" 
       data-options="singleSelect:false,collapsible:true,pagination:true,url:'/item/list',method:'get',pageSize:30,toolbar:toolbar">
    <thead>
        <tr>
        	<th data-options="field:'ck',checkbox:true"></th>
        	<th data-options="field:'id',width:60">商品ID</th>
            <th data-options="field:'title',width:200">商品标题</th>
            <th data-options="field:'cid',width:100">叶子类目</th>
            <th data-options="field:'sellPoint',width:100">卖点</th>
            <th data-options="field:'price',width:70,align:'right',formatter:TAOTAO.formatPrice">价格</th>
            <th data-options="field:'num',width:70,align:'right'">库存数量</th>
            <th data-options="field:'barcode',width:100">条形码</th>
            <th data-options="field:'status',width:60,align:'center',formatter:TAOTAO.formatItemStatus">状态</th>
            <th data-options="field:'created',width:130,align:'center',formatter:TAOTAO.formatDateTime">创建日期</th>
            <th data-options="field:'updated',width:130,align:'center',formatter:TAOTAO.formatDateTime">更新日期</th>
        </tr>
    </thead>
</table>

6、最后的实现结果







版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

MyBatis+Mysql实现分页插件PageInfo

使用方法 1. 引入分页插件 引入分页插件一共有下面2种方式,推荐使用Maven方式,这种方式方便更新。 1). 引入Jar包 如果你想使用本项目的jar包而不是直接引入类,你可以在这里下载各个版本的...

mybatis使用PageHelper实现分页的技术

1、如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。 该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库...

Mybatis的pageHelper插件实现分页

1.场景还原        近期的项目中屡次遇到分页的需求,今天我就MyBatis的pageHelper插件实现分页功能详细的给大家讲解一下。  2实现方案 ①添加pageHelper插件依赖 ...

Mybatis分页插件PageHelper如何直接返回PageInfo

mybatis的分页插件:https://github.com/pagehelper/Mybatis-PageHelper 这个插件很强大,也很易用,唯一的美中不足是:分页查询的时候,只能返回Page...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

MyBatis+Mysql实现分页插件PageInfo

引入分页插件一共有下面2种方式,推荐使用Maven方式,这种方式方便更新。 1. 引入Jar包 如果你想使用本项目的jar包而不是直接引入类,你可以在这里下载各个版本的jar包(点...

java分页的实现,插件PageHelper的使用及原理

如果你只希望知道PageHelper的用法,直接去github查看官网文档 Mybatis-PageHelper. 1.关于分页。 在web项目中,分页是一个常见的功能。在我刚学完javaweb的...

java项目使用pageHelper做分页

1,maven引入pageHelper依赖 com.github.pagehelper pagehelper 4.0.0 2,mybatis...
  • keepd
  • keepd
  • 2017年05月11日 10:58
  • 797

Spring + Mybatis 使用 PageHelper 插件分页

先增加maven依赖: com.github.pagehelper pagehelper 4.0.0 创建mybatis配置文件:mybatis-config.xml...

【MyBatis】MyBatis分页插件PageHelper的使用

好多天没写博客了,因为最近在实习,大部分时间在熟悉实习相关的东西,也没有怎么学习新的东西,这周末学习了MyBatis的一个分页插件PageHelper,虽然没有那么的强大(我在最后会说明它的缺点),但...
  • eson_15
  • eson_15
  • 2016年08月21日 23:14
  • 22624
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:pageHelper实现分页
举报原因:
原因补充:

(最多只允许输入30个字)