数据分页主要用到了resultSet的absolute()方法用来定位到某一行上去,其代码如下:
package com.ajliu.pageOperation;
import java.sql.*;
import com.ajliu.UtilTool.*;
import java.util.*;
public class PageTest {
public static void operation(){
System.out.println("===================================");
System.out.println("====this is the split operation====");
System.out.println("please input the number of the page");
}
public static void main(String args[]){
operation();
Connection conn=null;
Statement stm=null;
ResultSet rs=null;
try{
conn=ConnectTool.getConnection();
conn.setAutoCommit(false);
/*---设置可滚动可更新的结果集-*/
stm=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
/*--查出员工的ID号和姓名--*/
String sql="select empno,Ename from emp order by sal";
rs=stm.executeQuery(sql);
System.out.println(rs.getFetchSize());
Scanner scanner=new Scanner(System.in);
int i=scanner.nextInt();//每页显示多少行
int j=0;
rs.next();
do{
/*当前显示的行数是否达到了指定的行数*/
if(i==j){
j=0;
System.out.println("show the next page,please input the 'P'");//显示下一页
System.out.println("show the last page,please input the l ");//显示上一页
System.out.println("exit,please input the 'e'");
String a=scanner.next();
if(a.equals("l")){
int rowNum=rs.getRow()-2*(i+1);//获取上一页的起始下标
if(rowNum==0){ //判断是否是回到起始下标
rs.absolute(1);
System.out.println(rs.getInt(1)+"=="+rs.getString(2));
j=1;
}
else{
rs.absolute(rowNum);}//定位上一页的位置
continue;
}
if(a.equals("p")){
continue;
}
else{break;}
}
System.out.println(rs.getInt(1)+"=="+rs.getString(2));
j++;
}while(rs.next());
conn.commit();
}catch(Exception e){
e.printStackTrace();
try {
conn.rollback();
} catch (Exception e1) {
e1.printStackTrace();
}finally{
ConnectTool.releasersc(rs, stm, conn);
}
}
}
}
当我们需要定位到某一页的时候,或则是显示特定的某一页的时候,我们可以用如下的方法实现:
/*
* 功能:分页显示所有给定的结果集
* 参数:rs代表要分页的结果集,pageNum代表的每页显示几条记录
* */
public static void pagefilter(ResultSet rs,int pageNum)throws Exception{
Scanner scanner=new Scanner(System.in);
int totalRow=rs.getFetchSize();//获取所查询的结果集的行数
int totalPage=0;
/*判断跟定的结果集是否可以刚好显示完,如果不能,则加上一页*/
if(totalRow%pageNum==0){
totalPage=totalRow/pageNum;
}
else{
totalPage=totalRow/pageNum+1;
}
do{
int recordNum=0;//该页已经显示了几条记录
System.out.println("exit,please input '100'");
System.out.println("please input the page you want to show:");
int number=scanner.nextInt();//显示第几页,
if(number==100){
break;
}
if(number<1||number>totalPage){
System.out.println("你输入的页面不正确!");
continue;
}
number=number-1;
rs.absolute(number*pageNum+1);//定位到当显示的页面
/*显示第几页的内容*/
while(recordNum!=pageNum){
System.out.println(rs.getInt(1)+"=="+rs.getString(2));
//判断下一个行是否有值
if(!rs.next()){
break;
} ;
recordNum++;
}
}while(true);
}
分享到:
相关推荐
在Web开发中,数据的分页...总之,使用MySQL和JDBC实现Web开发中的信息分页显示涉及到SQL查询、JDBC API的运用以及前端分页逻辑的设计。通过合理的优化策略,可以确保在大数据量场景下提供高效且用户友好的分页体验。
它允许Java程序执行SQL语句,实现数据的增、删、查、改操作。当我们处理大量数据时,通常会采用分页的方式来提高用户体验和系统性能。本篇文章将详细讲解如何使用JDBC进行数据库分页操作。 首先,我们需要了解分页...
### JSP连接SQL数据库实现数据分页显示 #### 概述 本文档通过一个实际案例展示了如何使用JSP(Java Server Pages)与SQL数据库进行交互,并实现数据的分页显示功能。该示例包含了详细的代码及注释,有助于理解整个...
本教程主要围绕"纯JSP +JDBC实现分页"这一主题,为初学者提供详细的步骤和讲解,帮助理解JSP、分页和JDBC的基础知识。 首先,我们需要了解JSP(JavaServer Pages)的基本概念。JSP是Java技术的一种,它允许Web...
总结来说,"sturts+oracle+jdbc实现分页"是一个典型的Java Web开发任务,涉及到Struts框架、Oracle数据库操作和JDBC技术的综合运用。通过编写Action类处理请求,利用Oracle的ROWNUM进行分页查询,并通过JDBC接口与...
本文将深入探讨使用JDBC(Java Database Connectivity)进行物理分页的实现方法,特别是在MySQL数据库中的应用。 首先,我们要了解JDBC是Java平台的标准API,它提供了与各种数据库交互的能力。在进行分页查询时,...
在这个"JSP+JDBC_假分页"的主题中,我们将深入探讨如何在不使用数据库支持的分页功能下,通过JSP和JDBC实现一个简单的“假分页”机制。假分页通常指的是在服务器端一次性加载所有数据,然后在客户端(浏览器)进行...
Oracle JDBC分页实现是数据库操作中的一个重要环节,尤其是在处理大量数据时,为了提高用户体验和系统性能,分页查询显得尤为重要。Oracle数据库提供了多种方法来实现分页查询,其中包括使用ROWNUM伪列、游标...
总结起来,"Struts2+jdbc+mysql分页Demo"是一个典型的Web开发案例,展示了如何整合Struts2、JDBC和MySQL实现数据的分页显示。通过这个示例,开发者可以学习到如何在Java Web环境中有效地处理大数据量,提高用户体验...
【标题】"jdbc+serlvet分页查询代码"涉及的知识点主要集中在Java数据库连接(JDBC)和Servlet两个核心技术上,它们是Web应用程序中处理数据和交互的关键组件。 **JDBC(Java Database Connectivity)** JDBC是Java...
本项目通过集成MySQL数据库、Java的JDBC技术以及前端的EasyUI框架,实现了数据表格的展示和分页功能,这对于Web应用来说是常见的需求。下面将详细讲解这些技术的使用及其相互配合。 **1. MySQL数据库** MySQL是一款...
本文将深入探讨如何在Java开发环境中使用Hibernate框架以及JDBC结合SQL Server 2005来实现数据分页功能。 #### Hibernate中的分页实现 在Hibernate框架中实现分页功能相对较为简单。通过`Query`对象提供的方法即可...
在这个"jsp+jdbc+servlet分页带增删查改"项目中,开发者使用了MVC(Model-View-Controller)架构模式,实现了对数据的CRUD(Create, Read, Update, Delete)操作,并提供了分页功能。** 1. **JSP(JavaServer Pages...
实现Struts2.0中的数据分页主要涉及以下几个步骤: 1. **数据库设计与连接**: - 首先,你需要创建一个数据库,比如这里提到的MySQL,并在其中存储数据。例如,创建一个名为"user1"的表,包含需要分页展示的数据。...
Java Web 分页显示数据库内容是指在 Java Web 应用程序中实现在数据库内容的分页显示。分页是指将大量的数据或记录分割成多个页面,以便于用户逐页浏览和查看。分页在数据库查询和显示方面非常重要,因为它可以减少...
本教程将深入探讨如何使用JDBC和MySQL实现分页查询。 首先,我们需要理解分页的基本概念。分页是将大型数据集分割成较小、更易管理的部分,通常每页包含一定数量的记录。在Web应用中,这通常通过设置“每页条目数”...
总的来说,JDBC实现的JSP分页是一种实用的技术,尤其在没有使用ORM框架如Hibernate的情况下。虽然不如ORM框架那样便捷,但理解这种基础方法有助于深入理解数据访问层的工作原理,为日后的开发打下坚实的基础。
在Java开发中,数据库记录的分页显示是常见的需求,尤其是在Web应用程序中。JDBC(Java Database Connectivity)是Sun公司制定的Java平台下的数据库连接标准接口,它提供了统一的方式来访问不同数据库。然而,JDBC ...
只要通过JDBC连接上数据库 获得Connection 对象 套上此模板就可实现数据库数据分页机制……