`
botan1314
  • 浏览: 25116 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

分页方法总结

DAO 
阅读更多
1.分页工具Class:
public class PageVo {
private int currentPage;//当前页
private int totalPage;//总页数
private int lastPage;//上一页
private int nextPage;//下一页
private static final int accountOfPage = 5;//每页显示几行

private int fromIndex;//每页从第几条开始
private int toIndex;//每页到第几条
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getLastPage() {
return lastPage;
}
public void setLastPage(int lastPage) {
this.lastPage = lastPage;
}
public int getNextPage() {
return nextPage;
}
public void setNextPage(int nextPage) {
this.nextPage = nextPage;
}

public int getFromIndex() {
return fromIndex;
}
public void setFromIndex(int fromIndex) {
this.fromIndex = fromIndex;
}
public int getToIndex() {
return toIndex;
}
public void setToIndex(int toIndex) {
this.toIndex = toIndex;
}
public static int getAccountofpage() {
return accountOfPage;
}

//分页方法
public void setFenYe(int currentPage, int totalAccount){
//
//totalPage = (totalAccount % accountOfPage) == 0?totalAccount/accountOfPage:totalAccount+1;
totalPage = (totalAccount % accountOfPage) == 0?totalAccount/accountOfPage:totalAccount/accountOfPage+1;
//如果当前页比总页数多
if(currentPage>totalPage){
currentPage = totalPage;
}
//如果当前页小于最小页
if(currentPage<1){
currentPage = 1;
}
//设置下一页
this.nextPage = currentPage + 1;
//
if(nextPage>totalPage){
nextPage = totalPage;
}
//设置上一页
this.lastPage = currentPage - 1;
if(lastPage < 1){
lastPage = 1;
}
//设置每页从第几条开始
fromIndex = (currentPage - 1)*accountOfPage;
if(fromIndex > totalAccount - 1){
fromIndex = totalAccount;//让最后一页为空
}
//设置每页的最后一条
toIndex = accountOfPage * currentPage;
if(toIndex > totalAccount){
toIndex = totalAccount;//让最后一页为空
}
}
}

2.Dao方法:
   //计算数据库记录的总条数
    int getTotalRecord();
    //获取当前页记录
    List<JlManager> queryLimitFuleJL(int fromIndex,int toIndex);

3.实现类:
public int getTotalRecord() {
return this.getHibernateTemplate().find("from JlManager").size();
}
public List<JlManager> queryLimitFuleJL(int fromIndex,int toIndex) {
List<JlManager> list = this.getHibernateTemplate().find("from JlManager").subList(fromIndex, toIndex);
return list;
}

4.Action:
public String fenye(){
if(page<1){
page = 1;
}
pageVo = new PageVo();
totalAccount = jiLiangIMP.getTotalRecord();
pageVo.setFenYe(page, totalAccount);
list = jiLiangIMP.queryLimitFuleJL(pageVo.getFromIndex(),pageVo.getToIndex());
//HttpServletRequest req = ServletActionContext.getRequest();
//req.setAttribute("", list);
return "jiliang";
}

5.页面:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="33%">
<div align="left">
<span class="STYLE22">&nbsp;&nbsp;&nbsp;&nbsp;共有<strong><s:property value="totalAccount" />
</strong> 条记录,当前第<strong><s:property value="page" /></strong> 页,
共 <strong><s:property value="pageVo.totalPage" /></strong> 页</span>
</div>
</td>
<td width="67%">
<table width="312" border="0" align="right" cellpadding="0"
cellspacing="0">
<tr>
<td width="49">
<div align="center">
<!-- 首页 -->
<a href="<%=basePath%>/gdmis/RuchangJlAction!fenye.action?page=1">
首页</a>
</div>
</td>
<td width="49">
<div align="center">
<!--上一页 -->
<a href="<%=basePath%>/gdmis/RuchangJlAction!fenye.action?page=<s:property value="pageVo.lastPage" />">
上一页
</div>
</td>
<td width="49">
<div align="center">
<!--下一页 -->
<a href="<%=basePath%>/gdmis/RuchangJlAction!fenye.action?page=<s:property value="pageVo.nextPage" />">
下一页
</div>
</td>
<td width="49">
<div align="center">
<!-- 末页 -->
<a href="<%=basePath%>/gdmis/RuchangJlAction!fenye.action?page=<s:property value="pageVo.totalPage" />">
末页
</div>
</td>
<td width="37" class="STYLE22">
<div align="center">
转到
</div>
</td>
<td width="22">
<div align="center">
<!-- 通过id=“turnToId”再userCheckPage.js中进行 -->
<input type="text" name="textfield" id="turnToId"
style="width: 20px; height: 12px; font-size: 12px; border: solid 1px #7aaebd;" />
</div>
</td>
<td width="22" class="STYLE22">
<div align="center">

</div>
</td>
<td width="35">
<a href="#" onclick="turnTo()">
<img src="<%=basePath%>images/main_62.gif" width="26"
height="15" /></a>
</td>
</tr>
</table>
</td>
</tr>
</table>
分享到:
评论

相关推荐

    java分页方法总结

    ### Java分页方法总结 #### 一、MySQL的分页技术 MySQL的分页操作相对简单,主要通过`LIMIT`语句实现。该语句允许开发者指定查询结果集中的起始位置以及返回的行数。这为实现网页上的分页功能提供了极大的便利。 ...

    8种MySQL分页方法总结

    以下是对8种MySQL分页方法的总结与分析: 1. **直接使用LIMIT**: - 语句样式:`SELECT * FROM 表名称 LIMIT M, N` - 适用场景:数据量较小(几百到几千行) - 缺点:全表扫描,效率低,结果集不稳定(顺序不...

    jsp 分页实现总结大全

    三、JSP分页实现方法 1. 传统JSP+Servlet方式 - Servlet处理请求,计算页码和查询数据。 - 将数据传递给JSP,JSP负责渲染页面和生成分页链接。 - 使用request.getParameter()获取用户传递的页码信息。 2. JSP...

    MySQL分页技术、6种分页方法总结

    本文将对六种常见的MySQL分页方法进行详细总结,并探讨其适用场景、优缺点以及优化策略。 1. **直接使用LIMIT语句** - 语句样式:`SELECT * FROM 表名称 LIMIT M, N` - 适应场景:适用于数据量较小的情况,如几百...

    数据库分页3种写法

    根据提供的文件信息,我们可以将其中涉及的数据库分页方法总结为以下三种,并分别对每种方法进行详细解析。 ### 第一种方法:TOP 和 NOT IN 的组合 这种方法通过使用 `TOP` 和 `NOT IN` 来实现分页查询。具体实现...

    c#分页方法整理,c#语言

    在C#编程中,分页是处理大量数据时不可...总结,C#中实现分页有多种途径,可以根据具体项目需求和性能要求选择合适的方法。无论是在数据库层面还是内存中处理,理解并熟练运用这些分页技术都将对提升应用性能大有裨益。

    数据库分页方法

    ### 数据库分页方法 在处理大量数据时,分页技术是提高用户体验、优化系统性能的重要手段之一。本文将深入探讨数据库分页的基本概念、原理以及实现方式,并通过具体的SQL语句示例来帮助读者更好地理解和掌握这一...

    通用分页方法接口.rar

    总结,通用分页方法接口的设计与实现是软件开发中的重要组成部分,它能够提高代码的复用性和可维护性,同时提供高效、灵活的数据展示方式。通过理解并熟练运用这种接口,开发者可以更好地应对大数据量的挑战,提升...

    MySQL学习笔记之数据定义表约束,分页方法总结

    本篇文章将深入探讨其中的表约束和分页方法。 1. **主键(Primary Key)** 主键是数据库表中的一个或一组字段,其值用于唯一地标识每条记录。在MySQL中,`primary key`约束确保了主键列的值不重复且不允许为空。...

    分页处理方法,分页处理,分页代码,分页方法

    在JSP中,可以使用request对象获取请求参数,例如`pageNo`,然后通过调用后端方法获取到分页数据并传递给JSP页面。在`BeanServlet.java`的示例中,数据被存储到`list`列表中,并通过`request.setAttribute("list", ...

    分页的sql总结

    以下是对分页SQL查询技术的深入解析,旨在帮助读者理解并掌握几种常用的分页查询方法。 ### 1. 使用ROWID进行分页 ROWID是一个特殊的数据类型,用于唯一标识表中的每一行记录。利用ROWID进行分页查询,可以避免多...

    关于Mysql分页的两种方法,假分页和limit分页

    总结起来,MySQL的分页方法主要包括假分页和LIMIT分页。假分页适合数据量小、对服务器压力不敏感的场景,而LIMIT分页则更适合数据库分页,特别是配合索引和优化策略,能有效提高查询效率。在实际应用中,应根据具体...

    php分页代码总结

    类中可能包含初始化、设置参数、获取分页链接、获取当前页数据等方法。通过这样的封装,无论是初学者还是经验丰富的开发者,都能快速便捷地在项目中应用分页功能。 综上所述,“php分页代码总结”主要涉及如何在PHP...

    三种数据库SQL分页方法详解

    ### 三种数据库SQL分页方法详解 在数据库查询过程中,分页是非常常见且重要的一个功能。它可以帮助我们更高效地处理大量数据,特别是在构建大型应用系统时,分页技术能够显著提升用户体验。本文将详细介绍三种...

    24款网页分页方法满足网站需要

    在“24款网页分页方法满足网站需要”这个主题中,我们将探讨各种分页实现方式及其优缺点,帮助开发者根据项目需求选择最适合的方案。 1. 基础样式分页:基础的HTML与CSS结合,通过`&lt;ul&gt;`、`&lt;li&gt;`等元素创建分页链接...

    常见的几种分页语句和方法

    本文将详细介绍几种常用的分页方法,包括SQL语句分页、Hibernate分页等。 #### SQL语句分页 SQL语句分页是最基本也是最直接的方式之一。通过调整查询语句,我们可以获取到特定范围的数据记录。下面将介绍两种常用...

    Oracle,mysql,sqlserver等各种数据库的分页方法

    ### 数据库分页方法概述 在数据库操作中,分页是一项非常重要的技术,尤其是在处理大量数据时,能够有效地提升查询效率和用户体验。本文将详细介绍Oracle、MySQL、SQL Server等常见数据库系统的分页方法。 ### ...

Global site tag (gtag.js) - Google Analytics