`
jallay
  • 浏览: 43836 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

用JDBC实现数据的分页显示

阅读更多
数据分页主要用到了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开发中,数据的分页...总之,使用MySQL和JDBC实现Web开发中的信息分页显示涉及到SQL查询、JDBC API的运用以及前端分页逻辑的设计。通过合理的优化策略,可以确保在大数据量场景下提供高效且用户友好的分页体验。

    jdbc操作数据库分页

    它允许Java程序执行SQL语句,实现数据的增、删、查、改操作。当我们处理大量数据时,通常会采用分页的方式来提高用户体验和系统性能。本篇文章将详细讲解如何使用JDBC进行数据库分页操作。 首先,我们需要了解分页...

    JSP连接SQL数据库实现数据分页显示

    ### JSP连接SQL数据库实现数据分页显示 #### 概述 本文档通过一个实际案例展示了如何使用JSP(Java Server Pages)与SQL数据库进行交互,并实现数据的分页显示功能。该示例包含了详细的代码及注释,有助于理解整个...

    纯JSP +JDBC实现分页

    本教程主要围绕"纯JSP +JDBC实现分页"这一主题,为初学者提供详细的步骤和讲解,帮助理解JSP、分页和JDBC的基础知识。 首先,我们需要了解JSP(JavaServer Pages)的基本概念。JSP是Java技术的一种,它允许Web...

    sturts+oracle+jdbc实现分页

    总结来说,"sturts+oracle+jdbc实现分页"是一个典型的Java Web开发任务,涉及到Struts框架、Oracle数据库操作和JDBC技术的综合运用。通过编写Action类处理请求,利用Oracle的ROWNUM进行分页查询,并通过JDBC接口与...

    JDBC分页 物理分页 mysql实现

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

    JSP+JDBC_假分页

    在这个"JSP+JDBC_假分页"的主题中,我们将深入探讨如何在不使用数据库支持的分页功能下,通过JSP和JDBC实现一个简单的“假分页”机制。假分页通常指的是在服务器端一次性加载所有数据,然后在客户端(浏览器)进行...

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

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

    Struts2+jdbc+mysq分页Demo

    总结起来,"Struts2+jdbc+mysql分页Demo"是一个典型的Web开发案例,展示了如何整合Struts2、JDBC和MySQL实现数据的分页显示。通过这个示例,开发者可以学习到如何在Java Web环境中有效地处理大数据量,提高用户体验...

    jdbc+serlvet分页查询代码

    【标题】"jdbc+serlvet分页查询代码"涉及的知识点主要集中在Java数据库连接(JDBC)和Servlet两个核心技术上,它们是Web应用程序中处理数据和交互的关键组件。 **JDBC(Java Database Connectivity)** JDBC是Java...

    MySql + JDBC +EasyUI DataGrid实现数据表格的展示和分页

    本项目通过集成MySQL数据库、Java的JDBC技术以及前端的EasyUI框架,实现了数据表格的展示和分页功能,这对于Web应用来说是常见的需求。下面将详细讲解这些技术的使用及其相互配合。 **1. MySQL数据库** MySQL是一款...

    在JDBC,hibernate中实现分页

    本文将深入探讨如何在Java开发环境中使用Hibernate框架以及JDBC结合SQL Server 2005来实现数据分页功能。 #### Hibernate中的分页实现 在Hibernate框架中实现分页功能相对较为简单。通过`Query`对象提供的方法即可...

    jsp+jdbc+servlet分页带增删查改

    在这个"jsp+jdbc+servlet分页带增删查改"项目中,开发者使用了MVC(Model-View-Controller)架构模式,实现了对数据的CRUD(Create, Read, Update, Delete)操作,并提供了分页功能。** 1. **JSP(JavaServer Pages...

    struts2.0实现的数据分页实现及实现分页步骤

    实现Struts2.0中的数据分页主要涉及以下几个步骤: 1. **数据库设计与连接**: - 首先,你需要创建一个数据库,比如这里提到的MySQL,并在其中存储数据。例如,创建一个名为"user1"的表,包含需要分页展示的数据。...

    javaweb_分页显示数据库内容

    Java Web 分页显示数据库内容是指在 Java Web 应用程序中实现在数据库内容的分页显示。分页是指将大量的数据或记录分割成多个页面,以便于用户逐页浏览和查看。分页在数据库查询和显示方面非常重要,因为它可以减少...

    JDBC-MySQL分页查询

    本教程将深入探讨如何使用JDBC和MySQL实现分页查询。 首先,我们需要理解分页的基本概念。分页是将大型数据集分割成较小、更易管理的部分,通常每页包含一定数量的记录。在Web应用中,这通常通过设置“每页条目数”...

    jsp分页JDBC实现

    总的来说,JDBC实现的JSP分页是一种实用的技术,尤其在没有使用ORM框架如Hibernate的情况下。虽然不如ORM框架那样便捷,但理解这种基础方法有助于深入理解数据访问层的工作原理,为日后的开发打下坚实的基础。

    JDBC简单分页方案

    在Java开发中,数据库记录的分页显示是常见的需求,尤其是在Web应用程序中。JDBC(Java Database Connectivity)是Sun公司制定的Java平台下的数据库连接标准接口,它提供了统一的方式来访问不同数据库。然而,JDBC ...

    jsp 实现数据库数据分页显示

    只要通过JDBC连接上数据库 获得Connection 对象 套上此模板就可实现数据库数据分页机制……

Global site tag (gtag.js) - Google Analytics