博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSM+PageHelper+jqGrid实现数据分页
阅读量:5917 次
发布时间: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

你可能感兴趣的文章
创业公司如何在夹缝中求生存
查看>>
linux 删除文件后磁盘空间不释放的原因
查看>>
Yii2 使用 Beanstalk 队列
查看>>
为Cacti增加Monitor、Thold插件
查看>>
Google Apps 增加 DKIM 邮件签名验证来抵御垃圾邮件
查看>>
控件总结(四)
查看>>
hibernate sava方法和persisit方法
查看>>
史上最牛的五次******
查看>>
crash down
查看>>
FCKEditor2.6.6 配合 JavaWeb 的 使用步骤
查看>>
C++随笔分类列表(高级)
查看>>
django upload指定文件夹
查看>>
我的友情链接
查看>>
菜鸟学Linux 第105篇笔记 海量存储解决
查看>>
段子手丁磊的另一面:大佬的偶像包袱和软肋
查看>>
华为综合实验:STP与VRRP技术
查看>>
Oracle查询数据库中某用户下满足某些条件的表的记录数
查看>>
膨胀处理提取车辆的大致轮廓
查看>>
windows 脚本 编写
查看>>
H3C之路由重分布
查看>>