public List<Menu> findByPageNo(Menu parentMenu, Integer pageNo,Integer pageDataCount) {
Integer dataCount=this.menuDaoHibernate.findCount(parentMenu);//查询记录总量。
if(pageNo==null){
pageNo=1;//默认为一页。
}
Integer firstResult=(pageNo-1)*pageDataCount;//开始查询的记录。
Integer maxResults=pageDataCount;//查询的数量。
if((maxResults+firstResult)>=dataCount){
maxResults=dataCount-firstResult;
}
logger.debug("firstResult="+firstResult);
logger.debug("maxResults="+maxResults);
return this.menuDaoHibernate.find(parentMenu, firstResult, maxResults);
}
/**
* <a target='_parent' href="#"
* >上一页</a>1 <a target='_parent' href="#"
* >[2]</a> <a target='_parent' href="#"
* >[3]</a> <a target='_parent' href="#"
* >[4]</a> <a target='_parent' href="#"
* >[5]</a> <a target='_parent' href="#"
* >[6]</a> <a target='_parent' href="#"
* >[7]</a> <a target='_parent' href="#"
* >[8]</a> <a target='_parent' href="#"
* >[9]</a> <a target='_parent' href="#"
* >[10]</a> <a target='_parent' href="#"
* >下一页</a>
*/
@Override
public String findPageString(Menu parentMenu, Integer pageNo,Integer pageDataCount) {
StringBuilder pageString=new StringBuilder();
if(pageNo==null){
pageNo=1;//默认为一页。
}
Integer dataCount=this.menuDaoHibernate.findCount(parentMenu);//查询记录总量。
Integer pageCount;//能分多少页
if(dataCount%pageDataCount==0){
pageCount=dataCount/pageDataCount;
}else{
pageCount=dataCount/pageDataCount+1;
}
if(pageNo!=1){//如果是第一页
pageString.append("<a href='javascript:goPageprevious();'>上一页</a>");//具有上一页。
}
Integer beginNo=1;
Integer maxNo=pageCount;
if(pageCount>10){//如果总分页达到 10页以上。
maxNo=10;
if(pageNo>4){
beginNo=pageNo-4;
Integer endNo=pageNo+5;
if(endNo<=pageCount){
maxNo=endNo;
}else{
maxNo=pageCount;
beginNo=maxNo-9;
}
}
}
logger.debug("beginNo="+beginNo);
logger.debug("maxNo="+maxNo);
for(int i=beginNo;i<=maxNo;i++){
if(i==pageNo){
pageString.append(i);
}else{
pageString.append("<a href='javascript:goPage("+i+");'>["+i+"]</a>");
}
pageString.append(" ");
}
if((pageNo!=pageCount)&&(pageCount>1)){
pageString.append("<a href='javascript:goPageNext();'>下一页</a>");
}
return pageString.toString();
}
分享到:
相关推荐
Node.js结合MySQL实现分页查询是一种常见的数据处理方式,在Web应用中尤为常见。分页可以有效提高页面的响应速度,并优化用户的浏览体验。本文主要介绍了在Node.js环境下,如何使用MySQL数据库实现分页功能。 首先...
以下是对分页实现的详细说明: 一、基础概念 分页是将数据库查询结果分割成多个页面,每次请求只返回一部分数据,而不是一次性返回所有数据。这在Web应用中尤其常见,如搜索引擎、电商网站等,用户通常会通过点击...
总结来说,实现高效的MySQL分页查询需要考虑索引优化、使用新的SQL特性,以及借助合适的开发工具。同时,持续关注数据库性能监控,及时调整和优化查询策略,对于保持系统稳定和提升用户体验具有重要意义。
php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 ...
本示例中,我们将探讨如何在WinForm应用程序中实现MySQL数据库的分页功能,这在处理大量数据时非常实用,可以提高用户体验并减少系统资源的消耗。 首先,我们需要在Visual Studio 2010中创建一个新的WinForm项目。...
本篇文章将详细探讨两种常见的分页方法:假分页和LIMIT分页。 首先,我们来理解什么是假分页。假分页通常在前端实现,它并不涉及数据库级别的分页操作。假分页的工作原理是,服务器一次性获取所有数据,然后在...
在这个场景中,我们将探讨如何将GridView与MySQL数据库连接,并实现分页显示功能。这涉及到多个知识点,包括数据库连接、SQL查询、数据绑定以及分页逻辑。 首先,我们需要创建一个数据库连接。在C#中,我们可以使用...
这里的"accss,mysql,asp通用分页,自定义分页样式"就是一个关于如何在ASP(Active Server Pages)环境下,结合Access和MySQL数据库实现分页功能,并且自定义分页样式的主题。 首先,让我们从数据库层面理解。...
这里我们将详细探讨使用JSP、JavaBean、JDBC以及MySQL进行分页的具体步骤和原理。 首先,JSP(JavaServer Pages)是一种基于Java的服务器端脚本语言,用于生成动态网页。在分页场景下,JSP主要负责接收用户的请求...
MySQL数据库在处理大数据量时,分页查询是一种非常常见的优化手段,它可以帮助用户按需加载数据,避免一次性加载大量数据导致的性能问题。本篇文章将深入探讨MySQL中的分页存储过程及其代码调用方法。 首先,理解...
在本DEMO中,"Mysql+分页-DEMO.rar" 提供了一个使用Delphi7与MySQL结合实现分页查询的示例,这对于构建高效、用户友好的数据浏览界面非常有用。 首先,我们要理解分页的基本概念。分页是一种数据展示策略,它将大量...
标题中的"jsp +mysql+分页"涉及到的是Web开发中的几个关键概念,主要集中在Java服务器页面(JSP)、MySQL数据库以及分页技术的应用。这里我们将深入探讨这些知识点。 首先,JSP(JavaServer Pages)是一种动态网页...
在这个"mysql分页实例"中,我们将深入探讨MySQL的分页查询技术,并提供可以直接引用的分页类。 首先,我们要理解SQL中的基础分页查询语句。在MySQL中,最常用的分页查询方法是结合`LIMIT`和`OFFSET`关键字。`LIMIT`...
在这篇文章中,我们将探讨如何优化 MySQL 千万级快速分页,详细介绍解决方案。 问题描述 我们有一个简单的新闻系统模型,数据表 collect 有四个字段:id、title、info 和 vtype,其中 title 是定长,info 是 text...
基于PHP+MySQL实现分页技术 一、 开发环境 1、环境搭建:Windows 7+Apache 2.4.18+MySQL 5.7.11+PHP 7.1.0。 2、文本编辑器:Sublime 3。 二、主要技术 本案例使用PHP 7中的PDO数据对象对MySQL数据库进行操作,通过...
### Oracle、SQL、MySQL 实现分页查询方法详解 在数据库操作中,分页查询是一项非常重要的技术,尤其是在处理大量数据时。本文将基于提供的文件信息,深入探讨三种不同的分页查询方法及其在Oracle、SQL Server...
【标题】"jsp+mySql 真假分页"涉及了Web开发中的两种常见分页技术:真分页和假分页。这两种方法在处理大量数据时特别有用,能够提高网页加载速度,优化用户体验。 **一、真分页** 真分页(Physical Pagination)是...
在Java和MySQL的世界里,分页是Web应用程序中不可或缺的一部分,尤其在处理大量数据时,分页能够提高用户体验,避免一次性加载过多数据导致页面响应慢或者内存溢出。本项目提供了一个基于Java后端和MySQL数据库的...