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();
}
分享到:
相关推荐
这两天学习了nodejs mysql 实现分页,很重要,所以,今天添加一点小笔记。 代码如下 var express = require('express'); var router = express.Router(); var settings = require('../settings.js'); var mysql =...
对于mysql中的大量数据显示问题,进行了分页,使得数据可以更加清晰的显示
php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 mysql 进行分页,php 和 ...
Gridview连接mysql以及分页显示
MySql 分页 存储过程 MySql 分页 存储过程 MySql 分页 存储过程
亲测,可用,vs2010 winform mysql 分页 你值得拥有
NULL 博文链接:https://gaoyu.iteye.com/blog/548717
accss, mysql, asp通用分页,自定义分页样式
Delphi7+Mysql+分页演示-DEMO,自动控件,无任何其他控件 Delphi7+Mysql+分页演示-DEMO,自动控件,无任何其他控件
mysql数据库分页实例,直接可以引用的分页类
易语言源码MYSQL数据库分页查询.rar 易语言源码MYSQL数据库分页查询.rar 易语言源码MYSQL数据库分页查询.rar 易语言源码MYSQL数据库分页查询.rar 易语言源码MYSQL数据库分页查询.rar 易语言源码MYSQL数据库分页...
mysql存储过程实现分页 mysql存储过程实现分页 mysql存储过程实现分页 mysql存储过程实现分页
MySQL 百万级分页优化(Mysql千万级快速分页),主要解决大数量级的优化
delphi+mysql 在dbgrid上实现分页显示
java web mysql 通用分页
用jsp+javabean+jdbc+mysql进行的分页
关于Mysql分页的两种方法,一种假分页,没有效率提高,另一种使用limit,对数据量小的情况下效率会高点
分页方案二:(利用ID大于多少和SELECT TOP分页)效率最高,需要拼接SQL语句 分页方案一:(利用Not In和SELECT TOP分页) 效率次之,需要拼接SQL语句 分页方案三:(利用SQL的游标存储过程分页) 效率最差,但是最为...