`

JDBC分页实现

阅读更多
   对于一个页面数据记录显示过多时候,那就只有对获取到得数据库所有记录放到集合传递给页面进行上一页下一页的效果,也是为了防治给客户数据过多带来的不必要的麻烦。。。。。
   下面是一些代码:
(存储过程也可以实现)
StudentDAO:
/**
* 根据页面长度和页码在数据库中查询出对应的信息
*/
public List<StudentDTO> list(int pageSize,int pageNum){
List<StudentDTO> stus = new ArrayList<StudentDTO>();
try {
conn = DBManager.getConn();
String sql = "select top(?) * from tb_stu where stu_num not in(select top(?) stu_num from tb_stu)";
ps = conn.prepareStatement(sql);
ps.setInt(1, pageSize);
ps.setInt(2, pageSize*(pageNum-1));
rs = ps.executeQuery();
while(rs.next()){
String num = rs.getString("stu_num");
String name = rs.getString("stu_name");
String sex = rs.getString("stu_sex");
int age = rs.getInt("stu_age");
String department = rs.getString("stu_department");
String sclass = rs.getString("stu_class");
String pid = rs.getString("stu_pid");
String des = rs.getString("stu_des");
StudentDTO stu = new StudentDTO(num,name,sex,age,department,sclass,pid,des);
stus.add(stu);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
DBManager.close(rs, s, conn);
}
return stus;
}
/**
* 根据页面长度,获取总页数
* @param pageSize
* @return
*/
public int getTotalPage(int pageSize){
int pageCount = 0;
try {
conn = DBManager.getConn();
String sql = "select count(*) from tb_stu";
s = conn.createStatement();
rs = s.executeQuery(sql);
if(rs.next()){
int count = rs.getInt(1);
pageCount = count%pageSize==0?count/pageSize:count/pageSize+1;
}
} catch (SQLException e) {
e.printStackTrace();
} finally{
DBManager.close(rs, s, conn);
}
return pageCount;
}
ListStuServlet(doPost):
servlet相应页面请求,这里对页面的上下页功能我理解为函数回调一样。。。。
int pageSize = 10;
int pageNum = 1;
//点击下一页,接收到下一页的页码
String nextPage = request.getParameter("pageNum");
if(nextPage!=null){
pageNum = Integer.parseInt(nextPage);
}
//查询到所有的学生信息
List<StudentDTO> stus = new StudentDAO().list(pageSize,pageNum);
//获取总页面
int pageCount = new StudentDAO().getTotalPage(pageSize);
//传递到show页面进行显示
request.setAttribute("stus", stus);
//把当前页和总页数传递到页面
request.setAttribute("nowPage", pageNum);
request.setAttribute("pageCount", pageCount);
request.getRequestDispatcher("show.jsp").forward(request, response);
页面中的分页标签:(关键代码)
<c:if test="${nowPage eq 1}">
<font color="gray">首页 </font>
<font color="gray">上一页</font>
</c:if>
<c:if test="${nowPage>1}">
首页
[url=ListStuServlet?pageNum=${nowPage-1 }]上一页[/url]
</c:if>

<c:if test="${nowPage < pageCount}">
[url=ListStuServlet?pageNum=${nowPage+1 }]下一页[/url]
[url=ListStuServlet?pageNum=${pageCount }]尾页[/url]
</c:if>
<c:if test="${nowPage eq pageCount}">
<font color="gray">下一页 </font>
<font color="gray">尾页</font>
</c:if>
当前第${nowPage }页/共${pageCount }页
0
5
分享到:
评论

相关推荐

    oracle-jdbc分页实现(只需传入sql语句即可实现分页)

    Oracle JDBC分页实现是数据库操作中的一个重要环节,尤其是在处理大量数据时,为了提高用户体验和系统性能,分页查询显得尤为重要。Oracle数据库提供了多种方法来实现分页查询,其中包括使用ROWNUM伪列、游标...

    jsp jdbc分页原代码

    **JSP与JDBC分页实现详解** 在Java Web开发中,数据的分页展示是一项常见且重要的功能,尤其在处理大量数据时,分页能够有效地提高用户体验,避免一次性加载过多数据导致页面响应慢。本篇文章将围绕"JSP与JDBC分页...

    java jdbc 分页

    以下是一个简单的Java JDBC分页实现步骤: 1. **建立数据库连接**:首先,我们需要使用`DriverManager.getConnection()`方法来建立与数据库的连接。确保已经添加了相应的JDBC驱动,并正确配置了数据库URL、用户名和...

    JDBC分页查询(MySQL的)

    jdbc分页查询,利用mysql的limit实现分页查询。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...

    java基于原生的MySql的JDBC分页组件

    本篇将详细介绍如何基于原生的MySQL JDBC实现一个简单的分页组件,这对于初学者理解数据库操作和分页原理非常有帮助。 1. **JDBC基础**: JDBC是Java访问数据库的标准接口,它提供了连接数据库、执行SQL语句、处理...

    jdbc实现分页功能

    本教程将详述如何使用JDBC实现MySQL数据库的分页功能,这对于处理大量数据的Web应用来说至关重要,可以提高用户体验并减轻服务器负载。 首先,我们需要了解分页的基本概念。分页是将大量查询结果分割成较小、易于...

    JDBC分页.xmind

    JDBC分页实现方式总结。

    jdbc分页实例sqlserver2000

    标题中的“jdbc分页实例sqlserver2000”指的是使用Java Database Connectivity (JDBC) API来实现数据库分页查询的示例,特别是在SQL Server 2000这个特定的数据库管理系统上。JDBC是Java中用于与各种类型数据库交互...

    jdbc分页查询源码

    在Java开发中,JDBC(Java Database ...总的来说,JDBC分页查询是Java数据库操作中的常见需求,通过合理设计和优化,可以有效提升应用的性能和用户体验。给定的源码应当提供了具体的实现细节,供开发者参考学习。

    JDBC分页 物理分页 mysql实现

    本文将深入探讨使用JDBC(Java Database Connectivity)进行物理分页的实现方法,特别是在MySQL数据库中的应用。 首先,我们要了解JDBC是Java平台的标准API,它提供了与各种数据库交互的能力。在进行分页查询时,...

    jdbc 分页 sql语句

    ### JDBC分页SQL语句详解 #### 一、引言 在数据库操作中,分页查询是非常常见且重要的一个功能。对于大型应用而言,一次性加载大量数据不仅会消耗过多资源,还可能导致用户体验下降。因此,合理地进行分页处理显得...

    JDBC分页

    初学者可以通过分析和运行这个代码,更好地理解和掌握JDBC分页的实现。 总之,理解JDBC分页是Java开发者必备的技能之一,熟练掌握后能有效提升数据库操作的效率和用户体验。通过实践和不断的探索,你会更加精通这项...

    JavaWeb+JSP+Servlet+JDBC分页查询和查询后分页

    项目主体结构是dao+db+filter+pojo+servlet, 使用技术Servlet转发,代码中有注释帮助学者理解,数据库为MySQL资源...实现的数据库内容分页,查询分页,对初学者难点是根据get请求的中的url地址进行查询后的分页效果。

    JDBC分页 absolute实现

    "JDBC分页 absolute实现" 主要指的是使用`Statement`或`PreparedStatement`对象的`absolute()`方法来实现数据库查询的分页功能。 在传统的SQL查询中,分页通常通过`LIMIT`和`OFFSET`子句来实现,但这在大型数据集上...

    sturts+oracle+jdbc实现分页

    本文将深入探讨如何使用Struts、Oracle数据库和JDBC技术实现分页功能,以提高应用程序的性能和用户体验。 首先,我们要了解分页的基本概念。分页是一种将大量数据分割成多个小部分(页)进行展示的技术,使得用户...

    jdbc分页demo

    在这个"jdbc分页demo"中,主要涵盖了JDBC连接数据库、预编译SQL、执行查询、处理结果集以及在JSP页面上展示数据等步骤。通过这个例子,开发者可以了解如何在实际项目中实现基于JDBC的分页查询,提升Web应用的性能和...

    JavaWeb+JSP+Servlet+JDBC分页查询和查询后分页界面优化最终版

    在JavaWeb开发中,"JavaWeb+JSP+Servlet+JDBC分页查询和查询后分页界面优化"是一个常见的需求,特别是在构建大型的、数据密集型的学生管理系统中。这个主题涵盖了许多关键知识点,让我们逐一深入探讨。 首先,...

    JDBC简单分页方案

    **JDBC分页的实现策略** 面对这一问题,开发者通常需要借助JDBC提供的资源自行实现分页。基本思路是首先初始化分页参数,如页面大小(pageSize)、当前页(currentPage)、记录总数(countOfRows)以及页面总数...

    jsp分页JDBC实现

    本实例聚焦于使用JDBC在JSP中实现分页功能,这是一种基础且实用的技术,尤其在处理大量数据时避免一次性加载所有数据,提高用户体验。 首先,分页的基本概念是将一个大的数据集分割成若干小块,每次只显示一部分,...

    JSP和JDBC分页代码

    通过上述分析,我们可以看到JSP与JDBC结合实现分页功能的全过程。这种技术不仅能够高效地处理大数据量的展示,还能提供搜索和筛选功能,极大地提高了Web应用的性能和用户体验。对于开发者而言,理解并掌握这些核心...

Global site tag (gtag.js) - Google Analytics