⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pageable.java

📁 基于J2EE的网络物流系统 用户操作: 1. 录入出库商品信息 2. 查询出库单信息 3. 录入入库商品信息 4. 查询入库单信息 5. 查询商品位置信息 6. 查询商品信息 7. 查
💻 JAVA
字号:
package com.logistic.business;

import java.sql.*;

public class PageAble {

	private int pagesize;					//定义每页显示记录行数
	private int totalrow;					//结果集的总行数
	private int totalpage;					//结果集的总页数
	private int currentpage;		        //当前页
	private int rowscount;					//数据库游标指向的行
	
	public PageAble(ResultSet rs){			//构造函数
		
		try{
			rs.last();						//将数据库游标指向结果集的最后
		   }catch(SQLException se1){
			   se1.printStackTrace();
		   }
		   
	    try{
		   this.setTotalrow(rs.getRow());   //得到结果级的总行数
		   System.out.println("结果集的总行数:"+this.getTotalrow());
	       }catch(SQLException se2){
			 se2.printStackTrace();
		   }
		  
		try{
			rs.beforeFirst();			    //将数据库游标指向结果集的最前		
		    }catch(SQLException se3){
		    	se3.printStackTrace();
		    }   
		  
	}
	
	
	
	/**
	 * @return currentpage
	 */
	public  int getCurrentpage() {		//返回当前页号
		return currentpage;
	}
	/**
	 * @param currentpage 要设置的 currentpage
	 */
	public  void setCurrentpage(int currentpage) {   //设计当前页
		
		if(currentpage<0){								//当页号为0或者负数时,则当前页为第一页
			this.currentpage=1;
		}
		
		if(currentpage>this.getTotalpage()){			//当页号大于实际总页数时,当前页为总页数
			this.currentpage=this.getTotalpage();
		}else{
			this.currentpage=currentpage;				//其它情况下,当前页设置为给定的页号
	        // 设置数据库游标指向位置
	        this.setRowscount((this.currentpage-1)* this.getPagesize() + 1);
	        System.out.println("当前数据库游标指向:"+this.getRowscount());
		}
	}
	
	public int getCurrentPageRowsCount(){				//返回当前页的记录条数
		if(this.getPagesize()==0){
			return this.getTotalrow();
			}
		if(this.getTotalrow()==0){
			return 0;
		   }
		if(this.getCurrentpage()!=this.getTotalpage()){
			return this.getPagesize();
		   }else{
			   return this.getTotalrow()-(this.getTotalpage()-1)*this.getPagesize();
		   }
	}
	/**
	 * @return pagesize
	 */
	public int getPagesize() {							//返回分页大小
		return pagesize;
	}
	/**
	 * @param pagesize 要设置的 pagesize
	 */
	public void setPagesize(int pagesize) {       //设置分页大小
		if(pagesize>=0){
			this.pagesize=pagesize;
		}else{
			this.pagesize=1;
		}
		
		this.setTotalpage();
	}
	
	public void gotoPage(int page){				//转到指定页
		
	   switch(page){
	   
	        case-1:									//如果转向首页,则将当前页置为第一页
	        	this.setCurrentpage(1);
	            break;
	        case-2:									//如果转向上一页,则当前页上移一页
	        	if(this.getCurrentpage()==1){
	        		this.setCurrentpage(1);
	        	}else{
	        	   this.setCurrentpage(this.getCurrentpage()-1);//如果当前有多页,上一页为当前页减一
	        	}							
	        	break;
	        case-3:									//如果转向下一页,则当前页下移一页
	            if(this.getCurrentpage()==this.getTotalpage()){         //如果当前有多页,下一页为当前页加一
	                this.setCurrentpage(this.getTotalpage());
	              }else{
	                this.setCurrentpage(this.getCurrentpage()+1);   
	              }  			            
	            break;
	        case-4:									//如果转向尾页,则将当前页转到与总页数相符的页
	        	System.out.println("总页数:"+this.getTotalpage());
	        	this.setCurrentpage(this.getTotalpage());
	        	break;
	        default:
	        	this.setCurrentpage(page);
	        	}
	}
	/**
	 * @return rowscount
	 */
	public int getRowscount() {					//返回游标指向行的位置
		return rowscount;
	}
	/**
	 * @param rowscount 要设置的 rowscount
	 */
	public void setRowscount(int rowscount) {		//设置游标指向行的位置
		this.rowscount = rowscount;
	}
	/**
	 * @return totalpage
	 */
	public int getTotalpage() {					//返回总页数
		return totalpage;
	}
	/**
	 * @param totalpage 要设置的 totalpage
	 */
	public void setTotalpage() {					//设置总页数
		
		if(this.getTotalrow()==0){
			this.totalpage=0;
			}else if(this.getPagesize()==0){
				this.totalpage=1;
			 }else{
				    if(this.getTotalrow()%this.getPagesize()!=0){
					   this.totalpage=this.getTotalrow()/this.getPagesize()+1;
				 	}else{
					      this.totalpage=this.getTotalrow()/this.getPagesize();
				    }				 
			 }
		
	}
	/**
	 * @return totalrow
	 */
	public int getTotalrow() {						//返回总记录行数
		return totalrow;
	}
	/**
	 * @param totalrow 要设置的 totalrow
	 */
	public void setTotalrow(int totalrow) {		//设置总记录行数
		this.totalrow = totalrow;
	}
	

	
	public void pageFist() throws java.sql.SQLException{				//转到当前页的第一条记录
		this.setRowscount((this.getCurrentpage()-1)*this.getPagesize()+1);
	}
	
	public void pageLast() throws java.sql.SQLException{				//转到当前页的最后一条记录
		this.setRowscount((this.getCurrentpage()-1)*this.getPagesize()+this.getCurrentPageRowsCount());
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -