分页原理
两部分组成
- 分页导航信息
- 每个页面的数据查询语句信息
实现这个功能,需要查询的信息:
1. 总记录数:resultSize
2. 每页显示的记录数:pageSize
3. 当前的页码:pageIndex
4. 总页数(需要显示的时候),这是个分页内部的一个属性,有resultSize -1 / pageSize+1得到
不管是哪种实现,上述信息具备即可。
下面使用displaytag 标签,DisplayTag是一个非常好用的表格显示标签,适合MVC模式,其主页在http://displaytag.sourceforge.net
sql的分页 pageIndex = ( pageIndex -1 ) * pageSize
1. mysql 使用limit
select * from users limit pageIndex, pageSize
2. oracle 使用 rownum
select * from (
select a.*, rownum num from (
select * from users order by name desc) a
where rownum <= (pageSize + pageIndex) )
where num >= pageIndex
界面实现
1. 显示页码 jsp
<%@ taglib prefix="display" uri="http://displaytag.sf.net/el" %>
<display:table name="userList" pagesize="10" requestURI="user.do" sort ="external"
id ="row" partialList ="true" size ="resultSize">
<display:column property ="userid" title ="编号"/>
<display:column property ="username" title ="用户名"/>
<display:column property ="email" autolink="true" title ="邮箱"/>
<display:column title="操作">
<a href="user.do?action=delete&id=<c:out value="${row.userid}"/>">删除</a>
</display:column>
</display:table>
说明
table中属性
name="userList" 将记录集存在session或者request中的键值
pagesize="10" 每页显示10条数据
sort="external" 外部排序
id="row" 表格id值,用于程序得相关的参数
partialList="true" 分段从数据库中读数据
column中属性
autolink="true" 自动生成链接 email或者url
其他一些属性可以参考自带的例子
2. controller (user.do) springmvc
Map model = new HashMap();
//页数的参数名
String pageIndexName = new ParamEncoder("row")
.encodeParameterName
(org.displaytag.tags.TableTagParameters.PARAMETER_PAGE);
// 每页显示的条数
int pageSize = 10;
// 当前页
int pageIndex = LotteryUtil.isEmpty(request.getParameter(pageIndexName)) ? 0 :
(Integer
.parseInt(request.getParameter(pageIndexName)) - 1);
//总记录
int resultSize = userService.getAllUserCount();
//显示所有
List<User> userList = userService.getUsers(pageIndex, pageSize);
model.put("resultSize", resultSize);
model.put("userList", userList);
return new ModelAndView("userList", model);
上面是使用springmvc实现的,其他的实现类似
分享到:
相关推荐
基于springmvc实现分页查询基于springmvc实现分页查询
Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+...
springMVC和ibatis实现sql2005数据库插入案例
ssm+easyui 实现无刷新分页技术,spring+springMVC+mybatis+easyui
在一个兄弟分享的代码基础上,改造成spring mvc + mybatis框架,并增加了插件方式实现的分页功能。代码是完整的maven工程。
datatables+springmvc+bootstrap实现分页,包含数据库 Datatables是一款jquery表格插件。它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能。 分页,即时搜索和排序 几乎支持任何数据源:DOM, ...
SpringMVC+Mybatis实现的SqlServer整合逆向工程Example类分页带条件数据查询;(中间有MySQL整合代码网上关于MySQL的资料太多只共参考,这里以SQLserver为主) 全网第一整合版,逆向工程sqlserver分页;后续我还会...
SpringMVC+Mybatis实现权限管理 完整的项目案例,无论是对于新手还是已经步入程序之门的开发者来说,都是一个好的学习内容
SpringMVC+MySQL实现的分页小项目,对于学习SpringMVC框架挺有用的,建议收藏。
自己最近搭建的一个SpringMVC+Mybatis的框架 属于无实体类的框架 ... 并实现了Myabtis的自动分页和总数查询 只要传入分页参数便能自动查询总数和分页 总数封装在参数里面执行查询后可以直接从参数中获取
springMVC实现分页代码Mysql版本的,有sql文件
SpringMvc 简单分页
项目使用日志框架实现sql日志完整输出,并使用springmvc和jxls分别实现excel导出
这是一款基于SpringMVC + MyBatis实现的小说系统, 目前只有wap端。 前端采用vue的框架cube-ui, 采用前后端分离的结构,系统中针对数据接口安全做了一定的限制, 很大程度上保证了数据的安全性。 这是一款基于...
SpringMVC的Socket实现+Java Tomcat websocket实现+Java Socket通信实现 +Java UDP通信实现。websocket_study.rar 为springMVC版本的socket实现 websocket02.rar 里面包含tomcat的websocket实现+java socket双向通信...
springMVC+mybatis+bootstrap,实现登录、增删改查、分页、权限设置
基于bootstrap、springmvc、mybatis开发的实现登录和增删改查基本功能的项目,界面友好
springmvc入门简单实现,基础过渡,理解springmvc的实现机制。
spring + springmvc + mybatis 整合 demo 及 mybatis-pagehelper分页 demo
这个是用springmvc+mybatis来实现的分页查询,我觉得最值得借鉴的是如何搭建这个环境springmvc+mybatis,希望对大家有用。