MySql 分页

时间:2021-09-24 22:00:46

MySql 分页

由于最近项目需要,于是就简单写了个分页查询。总体而言MySql 分页机制较为简单。数据库方面只需要使用limit即可实现分页。前后台交互就直接用session传了值。

下面就写写具体的实现过程:

首先,创建一个Page VO类

  其中,总记录数可由数据库查得、每页默认记录数由你自己设定;

  总页数由总记录数及每页默认记录数获取,当然得有一个条件判断;

  当前页数由当前记录数及每页默认记录数获取,当然这也得有一个条件判断;

  当前记录条数可由页面传值同时配合每页默认记录数获取。

 package com.ctrl.vo;

 public class Page {
private int totalPage;// 总页数
private int currentPage;// 当前页
private int totalRecord;// 总记录数
private int currentRecord=0;// 当前记录条数
private int pageSize = 10;// 每页默认记录数 public int getTotalPage() {
return totalPage;
} public void setTotalPage(int totalRecord, int pageSize) {
if (totalRecord % pageSize == 0)
this.totalPage = totalRecord / pageSize;
else
this.totalPage = totalRecord / pageSize + 1;
} public int getCurrentPage() {
return currentPage;
} public void setCurrentPage(int currentRecord, int pageSize) {
if (currentRecord % pageSize == 0)
this.currentPage = currentRecord / pageSize;
else
this.currentPage = currentRecord / pageSize + 1;
} public int getTotalRecord() {
return totalRecord;
} public void setTotalRecord(int totalRecord) {
this.totalRecord = totalRecord;
} public int getCurrentRecord() {
return currentRecord;
} public void setCurrentRecord(int currentRecord) {
this.currentRecord = currentRecord;
} @Override
public String toString() {
return "Page [totalPage=" + totalPage + ", currentPage=" + currentPage
+ ", totalRecord=" + totalRecord + ", currentRecord="
+ currentRecord + ", pageSize=" + pageSize + "]";
} public int getPageSize() {
return pageSize;
} public void setPageSize(int pageSize) {
this.pageSize = pageSize;
} }

其次,showUsers.jsp页面(有省略,且部分名修改)

<c:choose>
<c:when test="${users != null }">
<br>
<form action="#" method="post">
<table class="table table-striped table-bordered">
<thead>
<tr>
<td>ID</td>
<td>NAME</td>
<td>CODE</td>
<td>PWD</td>
<td>STATE</td>
<td>FLAG</td>
<td>Update</td>
</tr>
</thead>
<c:forEach items="${users }" var="user">
<tr>
<td>${user.id }</td>
<td>${user.name }</td>
<td>${user.code }</td>
<td>${user.pwd }</td>
<td>${user.state }</td>
<td>${user.flag }</td>
<td><a href="update.jsp?user=${user }">update</a></td>
</tr>
</c:forEach>
</table>
</form>
<c:if test="${flag=='T'}">
<a
href="<%=request.getContextPath()%>/showLimitUsers?currentRecord=${page.currentRecord}&type=prev">前一页</a>
/<a
href="<%=request.getContextPath()%>/showLimitUsers?currentRecord=${page.currentRecord}&type=next"> 后一页</a>
</c:if>
.....

对于,servlet后台(SERVICE、DAO层代码省略...)

        Page page = new Page();
UserService userService = new UserServiceImpl();
//去掉管理员
long totalRecord = userService.getUsersCount() - 1;
page.setTotalRecord((int) totalRecord);
page.setTotalPage(page.getTotalRecord(), page.getPageSize());
String type = request.getParameter("type");
if (request.getParameter("currentRecord") != null
&& !request.getParameter("currentRecord").equals("")) {
int currentRecord = Integer.parseInt(request
.getParameter("currentRecord"));
page.setCurrentRecord(currentRecord);
page.setCurrentPage(page.getCurrentRecord(), page.getPageSize());
if ("next".equals(type)
&& page.getCurrentPage() < (page.getTotalPage() - 1)) {
currentRecord = currentRecord + 10;
page.setCurrentRecord(currentRecord);
} else if ("prev".equals(type) && page.getCurrentPage() > 0) {
currentRecord = currentRecord - 10;
page.setCurrentRecord(currentRecord);
}
} else {
page.setCurrentRecord(0);
}
List<User> users = userService.getLimitUsers(page.getCurrentRecord(),
page.getPageSize());
page.setCurrentPage(page.getCurrentRecord(), page.getPageSize()); HttpSession session = request.getSession();
//<a>标签是否显示
session.setAttribute("flag", "T");
session.setAttribute("users", users);
session.setAttribute("page", page); response.sendRedirect(request.getContextPath() + "/showUsers.jsp");

当用户点击了next,当前记录数就加pageSize,prev则减去pageSize。同时当前页也需要与总页数之间进行比较,以防超越了页数范围。

由于未将所有功能均设置分页,故设定flag标志,当页面其他功能不需要分页的话,可以将分页<a>消除。

效果图:

aaarticlea/png;base64,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" alt="" />

PS:文中Page VO为借鉴而来。

心得:

  分页不难,但还是会出现bug,需要好好调试。可以通过打印Page&将所传的值在input标签显示方便调试。

MySql 分页的更多相关文章

  1. Oracle、SQL Server、MySQL分页方法

    测试用例:查询TEST_TABLE表中TEST_COLUMN列的第10-20条数据 1,Oracle分页方法 SELECT A.* FROM ( SELECT ROWNUM ROWNO, B.* FR ...

  2. FluentData Mysql分页的一个BUG

    开发环境 FluentData3.0.VS.NET2010.Mysql5.0 问题描述 使用FluentData对一个表(记录数28)进行分页时,突然发现一个诡异的问题,第一页返回10条数据正常,第二 ...

  3. Mysql 分页语句Limit用法

    转载自:http://qimo601.iteye.com/blog/1634748 1.Mysql的limit用法 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用 ...

  4. php&plus;mysql分页类的入门实例

    php+mysql分页类的简单代码 时间:2016-02-25 06:16:26来源:网络 导读:php+mysql分页类的简单代码,二个php分页类代码,对商品进行分页展示,当前页面数,每个页面展示 ...

  5. sqlserver分页&semi;mysql分页&semi;orcale分页 的sql 查询语句

    一,sqlserver分页: )) ID FROM 表名 AS 表名1_1 ORDER BY ID)) ORDER BY ID; 二:mysql分页 )*每页显示的数据条数,当前页码 * 每页显示的数 ...

  6. MySQL分页实现

    mysql> select pname from product; +--------+ | pname  | +--------+ | 产品1  | | 产品2  | | 产品三 | +--- ...

  7. MySQL分页优化中的&OpenCurlyDoubleQuote;INNER JOIN方式优化分页算法”到底在什么情况下会生效?

    本文出处:http://www.cnblogs.com/wy123/p/7003157.html 最近无意间看到一个MySQL分页优化的测试案例,并没有非常具体地说明测试场景的情况下,给出了一种经典的 ...

  8. oracle和mysql分页

    mysql分页 关键字limit,limit m,n 其中m表示起始位置的下标,下标从0开始.n表示要显示的条数,比如要查询一个表的第2到5条数据. ,; oracle分页 关键字rownum, ro ...

  9. EF获取多个数据集以及MySQL分页数据查询优化

    背景:MySQL分页查询语句为 ,10; 一般页面还会获取总条数,这时候还需要一条查询总条数语句 , 这样数据库需要执行两次查询操作.MySQL提供了SQL_CALC_FOUND_ROWS追踪总条数的 ...

随机推荐

  1. INITIAL参数设置导致TRUNCATE TABLE不能降低高水位线案例

    在一个数据库使用下面SQL找出了一批需要降低高水位线的表,其中有几个表没有数据,于是我打算用TRUNCATE来降低高水位线HWM SELECT a.owner,        a.segment_na ...

  2. WAC集中转发部署

    1,背景: sta属于vlan20.ap属于vlan20.本地转发. 现象: Ap获取到的地址是vlan20的地址池的某地址 用户无法获取地址. 注意:本地转发,ap获取地址dhcp包不走隧道.用户获 ...

  3. mybatis配置Log4j带不出日志

    使用Mybatis的时候,有些时候能输出(主要是指sql,参数,结果)日志. 无法输出日志的时候,无论怎么配置log4j,不管是properties的还是xml的,都不起作用. log4j.prope ...

  4. Centos7快速部署CloudStack服务器

    OS:centos7 server:172.16.13.159 client:172.16.13.156 1.下载要用到的安装包 在client上: wget http://download.clou ...

  5. Java并发编程(一)线程定义、状态和属性

    一 .线程和进程 1. 什么是线程和进程的区别: 线程是指程序在执行过程中,能够执行程序代码的一个执行单元.在java语言中,线程有四种状态:运行 .就绪.挂起和结束. 进程是指一段正在执行的程序.而 ...

  6. 《RESTful Web APIs中文版》

    <RESTful Web APIs中文版> 基本信息 原书名:RESTful Web APIs 原出版社: O'Reilly Media 作者: Leonard Richardson    ...

  7. jQuery easyui layout布局自适应浏览器大小&lpar;转&rpar;

    首先解释一下标题的含义,当我们用jQuery easyui layout 进行布局的时候,可能会遇到这样一个问题,那就是当手工调整浏览器大小,或者最大化.还原窗口的时候,layout的某个区域不能填充 ...

  8. mac 零碎

    查看主机名 import socket socket.gethostname() 可以这样安装postgresql 安装postgresql, 输入 brew install postgresql 安 ...

  9. 沉淀再出发:Tomcat的实现原理

    沉淀再出发:Tomcat的实现原理 一.前言 在我们接触java之后,相信大家都编写过服务器程序,这个时候就需要用到Tomcat了.Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统 ...

  10. C&sol;C&plus;&plus;之回调函数

    转自:http://www.cnblogs.com/chenyuming507950417/archive/2012/01/02/2310114.html 今天讨论下C/C++中的回调函数. 在理解“ ...