博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSM+PageHelper+jqGrid实现数据分页
阅读量:5896 次
发布时间:2019-06-19

本文共 4004 字,大约阅读时间需要 13 分钟。

前言

前几天自己写了一个分页功能,代码逻辑写的很乱

今天发现jqGrid这个工具是真好用,故记录下来方便以后使用
首先是PageHelper
后台分页工具
PageHelper的原理是基于拦截器实现的

具体流程

首先引入PageHelper的jar包

com.github.pagehelper
pagehelper
5.1.8

分页插件的配置方式

配置的方式有两种,一种是在Mybatis配置的配置文件,一种是在Spring的配置文件

两种选择一种配置即可

1.在Mybatis.xml配置 直接上代码

1 
2 5
6 7
8
9
10 11
12
13
14
15
16
17
18

2. 在 Spring 配置文件中配置拦截器插件

使用 spring 的属性配置方式,可以使用 plugins 属性像下面这样配置:

params=value1

分页插件参数

分页插件参数可以去官网查看

一般使用像我这么配就可以了

jqGrid的配置步骤

下载地址:

使用 JqGrid 时,必需要有的文件如下:

ui.jqgrid-bootstrap.css

ui.jqgrid-bootstrap-ui.css

jquery.jqGrid.js

grid.locale-cn.js

这里注意导入的顺序!需要先导入Jquery和bootstrap

前端的代码

    

colModel里的数据要和你后台javaBean的属性是一致的,不然获取不到值

后端代码

dao层

package gentleman.dao;import gentleman.bean.Lend_list;import java.util.List;public interface Lend_listMapper {    List
selectLend();}

Mapper层

1 
2 3
4
5
6
7
8
9
10
11 12
17
18 sernum, book_id, reader_id, lend_dates, back_date, Status19
20

service层

package gentleman.service;import gentleman.bean.Lend_list;import java.util.List;public interface LendListService {    List
selectLend ();}

serviceImpl

 
package gentleman.service;import gentleman.bean.Lend_list;import gentleman.dao.Lend_listMapper;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import java.util.List;@Servicepublic class LendListServiceImpl implements LendListService{      @Autowired      private Lend_listMapper ll;    @Override    public List
selectLend() { return ll.selectLend(); }}

Controller层

package gentleman.Controller;import com.alibaba.fastjson.JSON;import com.github.pagehelper.PageHelper;import com.github.pagehelper.PageInfo;import gentleman.bean.Lend_list;import gentleman.service.LendListService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import java.util.HashMap;import java.util.List;import java.util.Map;@Controllerpublic class LendListController {       @Autowired    private LendListService ls;       @RequestMapping("/lend")       @ResponseBody       public String LendSelect(@RequestParam Map
params){ int page = Integer.parseInt(params.get("page").toString()); int limit = Integer.parseInt(params.get("limit").toString()); PageHelper.startPage(page,limit); List
lend_lists = ls.selectLend(); PageInfo
rd = new PageInfo<>(lend_lists); int r = (int)rd.getTotal(); HashMap
map = new HashMap<>(); map.put("list",lend_lists); map.put("totalCount",r); map.put("currPage",page); int sum = (int) Math.floor(r/limit)+1; map.put("totalPage",sum); return JSON.toJSONString(map); }}

总结AND页面最终效果展示

这里的话,params传过来的值就是之前html里写的page和limit,分别获取转换成int类型

调用startPage()方法将页数和每页的数据条数传过去
再调用service方法获取List,
通过PageInfo把list传过去,里面的getTotal方法能够获取数据总数
根据这个总数就能算出总共有多少页
这样的话,再把数据传到前台,就完成了一个很简单的分页

 

 
 
 

 

转载于:https://www.cnblogs.com/xiaowangtongxue/p/10682929.html

你可能感兴趣的文章
VMware Workstation虚拟机上网设置
查看>>
Jenkins持续集成学习-搭建jenkins问题汇总
查看>>
leetcode:Invert Binary Tree
查看>>
C#Note13:如何在C#中调用python
查看>>
Android介绍以及源码编译---Android源码下载
查看>>
SpringBoot集成redis缓存
查看>>
万恶的浏览器兼容问题
查看>>
sql经典语句
查看>>
使用ffmpeg实现对h264视频解码 -- (实现了一个易于使用的c++封装库)
查看>>
第4周作业-面向对象设计与继承
查看>>
First throw call stack: 不打印方法名
查看>>
mb_strcut与mb_substr()
查看>>
机器学习的原理
查看>>
网页制作中最有用的免费Ajax和JavaScript代码库
查看>>
flink watermark介绍
查看>>
[Flink原理介绍第四篇】:Flink的Checkpoint和Savepoint介绍
查看>>
ELKF安装使用教程。elasticsearch+logstash+kibana+filebeta。
查看>>
mybatis学习之一 开发环境配置和接口编程
查看>>
SqlDataAdapter DataSet DataTable 详解
查看>>
Android Xutils 框架
查看>>