mybatis插件pageHelper实现分页效果

最近做的一个项目在持久层我们采用的是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、最后的实现结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • mybatis使用pageHelper插件进行查询分页

    在数据库服务器中,sql语句实现分页便要每个查询语句都要写上limit(开始,结束),并且不能灵活的随前端变化,为此使用拦截器的方法,过程:拦截器拦截请求的sql语句(根据需要拦截的ID(正则匹配),进行拦截),并对根据前端传过来的页数,和每页的条数,计算出limit(开始,结束),总条数,然后,拼接到sql语句后边.其中这个处理过程,已经封装到了,分页插件中,可以不用理解,直接使用. mybatis查询分页---使用pageHelper插件 之前在spring+springmvc由于整个大多都

  • 使用mybatis插件PageHelper实现分页效果

    最近都在忙着写一个网站项目,今天做一个分页功能的时候,遇到了分页效果实现不了的问题,查了好久的资料,后来终于是成功解决啦,记录一下~ 1.在pom.xml中添加分页插件依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.5</version> </depend

  • Mybatis分页插件PageHelper的使用详解

    1.说明 如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件. 该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页. 2.使用方法 第一步:在Mybatis配置xml中配置拦截器插件: <plugins> <!-- com.github.pagehelper为PageHelper类所在包名 --> <plugin interceptor="com.github.pageh

  • Spring Boot+Mybatis+Druid+PageHelper实现多数据源并分页的方法

    前言 本篇文章主要讲述的是SpringBoot整合Mybatis.Druid和PageHelper 并实现多数据源和分页.其中SpringBoot整合Mybatis这块,在之前的的一篇文章中已经讲述了,这里就不过多说明了.重点是讲述在多数据源下的如何配置使用Druid和PageHelper . Druid介绍和使用 在使用Druid之前,先来简单的了解下Druid. Druid是一个数据库连接池.Druid可以说是目前最好的数据库连接池!因其优秀的功能.性能和扩展性方面,深受开发人员的青睐. D

  • SpringBoot集成MyBatis的分页插件PageHelper实例代码

    昨天给各位总结了本人学习springboot整合mybatis第一阶段的一些学习心得和源码,主要就算是敲了一下SpringBoot的门儿,希望能给各位的入门带给一点儿捷径,今天给各位温习一下MyBatis的分页插件PageHelper和SpringBoot的集成,它的使用也非常简单,开发更为高效.因为PageHelper插件是属于MyBatis框架的,所以相信很多哥们儿都已经用烂了,下面带着各位吃一下回头草. 首先说说MyBatis框架的PageHelper插件吧,它是一个非常好用的分页插件,通

  • SpringMvc+Mybatis+Pagehelper分页详解

    最近公司需要做一个告警页面的功能,需要分页,查了很多资料发现PageHelper比较合适 故写一篇从零开始的PageHelper使用的教程,也记录下忙活一天的东西 1.首先需要在项目中添加PageHelper的依赖,这里我用的Maven添加 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>

  • mybatis分页插件pageHelper详解及简单实例

    mybatis分页插件pageHelper详解及简单实例 工作的框架spring springmvc mybatis3 首先使用分页插件必须先引入maven依赖,在pom.xml中添加如下 <!-- 分页助手 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>3.7.5

  • Mybatis分页插件PageHelper的配置和简单使用方法(推荐)

    前言 在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页. 前端分页 一次性请求数据表格中的所有记录(ajax),然后在前端缓存并且计算count和分页逻辑,一般前端组件(例如dataTable)会提供分页动作. 特点是:简单,很适合小规模的web平台:当数据量大的时候会产生性能问题,在查询和网络传输的时间会很长. 后端分页 在ajax请求中指定页码(pageNum)和每页的大小(pageSize),后端查询出当页的数据返回

  • mybatis插件pageHelper实现分页效果

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

  • SpringBoot+Mybatis分页插件PageHelper实现分页效果

    目录 一.项目结构 二.插件引入 三.代码 四.测试: 最近刚入职新公司,项目是从零开始搭建的项目.我觉得是时候考验是驴还是千里马的时候.都是泪就不多说了. 附上一篇Mybatis常用的分页案例.这次要做的是最常见的分页效果,也是基础功能.但是很多人都做不好的.这次采用Mybatis分页插件PageHelper.   仅献给伸手党的大爷们.大爷们好!拿代码记得扣666!!小的在这给感谢了!! 一.项目结构 按照controller,service,mapper(也叫dao)来建立项目,utils

  • springboot +mybatis 使用PageHelper实现分页并带条件模糊查询功能

    完整案例: SpringBoot + laypage分页 + 模糊查询 完整案例 下面在通过实例代码介绍下springboot +mybatis 使用PageHelper实现分页并带条件模糊查询功能,内容如下所示: 调用接口Controller类 @ApiOperation("查询列表") @PostMapping("/selectList") public Result selectList(@RequestBody User_InfoListRequest us

  • Bootstrap Paginator+PageHelper实现分页效果

    最近需要做一个分页,找了挺多的前端分页效果,发现Bootstrap Paginator分页插件效果不错,而我页面也是用BootStrap做的响应式页面,就做了实现一个简单的分页效果. PageHelper地址 Bootstrap Paginator地址 在SpringBoot+Mybatis做分页 1.首先添加maven依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>p

  • bootstrap与pagehelper实现分页效果

    最近做的一些小项目中,都有用到分页,需要自己去搞.就把整个分页实现整理下吧,方便自己也方便他人. 前台 1.引入paging.js //分页,页码导航,要求参数为一个对象 function createPageNav(opt) { opt= opt || {}; var $container = opt.$container || null, //必需,页码容器,请确保这个容器只用来存放页码导航 pageCount = Number(opt.pageCount) || 0, //必需,页码总数

  • MyBatis基于pagehelper实现分页原理及代码实例

    使用pagehelper分页的原理是: 通过MyBatis的插件原理(类似web里的filter拦截器),在mapper配置文件将pagehelper注册为MyBatis的插件,从而进行分页 1.通过maven引入pagehelper依赖: <!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper --> <dependency> <groupId>com.github.pagehe

  • mybatis中oracle实现分页效果实例代码

    首先当我们需要通过xml格式处理sql语句时,经常会用到< ,<=,>,>=等符号,但是很容易引起xml格式的错误,这样会导致后台将xml字符串转换为xml文档时报错,从而导致程序错误. 这样的问题在iBatiS中或者自定义的xml处理sql的程序中经常需要我们来处理.其实很简单,我们只需作如下替换即可避免上述的错误: 原符号  <  <=   > >=  & '  " 替换符号 < <= > >= & &a

  • MyBatis如何使用PageHelper实现分页查询

    目录 使用PageHelper实现分页查询 1.创建数据表 2.创建项目 2.1 创建实体类(Entity层) 2.2 数据库映射层(Mapper层) 3.运行测试 MyBatis PageHelper的使用 1.引入pagehelper的jar包 2.在mybatis的配置文件中配置拦截(也可以在spring配置文件中配置) 3.代码中如何实现 4.注意事项 分页不安全的情况 使用PageHelper实现分页查询 [实例]MyBatis使用PageHelper实现分页查询,并显示分页信息.执行

  • mybatis模糊查询、分页和别名配置的方法

    mybatis模糊查询(3种) 第一种 select * from user where username like "%" #{name} "%" 第二种 select * from user where username like "%${value}%" 第三种 <!--concat拼接字符串 mysql独有的函数--> select * from user where username like concat("%&

随机推荐