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

📄 sqlpageutil.java~1~

📁 java系统通用框架 很实用的东东 一般人都看的懂,
💻 JAVA~1~
字号:
package com.ibm.bisc.ebiz.util;

import com.ibm.bisc.ebiz.base.*;
import java.sql.*;
import java.util.*;
/**
 * 此处插入类型描述。
 * 创建日期:(2002-6-21 17:40:25)
 * @author:pangwei
 */
public class SQLPageUtil extends ObjectBase{
/**
 * SQLPageUtil 构造子注解。
 */
public SQLPageUtil() {
	super();
}
/**
 * 此处插入方法描述。
 * 创建日期:(2002-6-21 17:42:19)
 * @return com.ibm.bisc.ebiz.base.BizComponent
 * @param conn java.sql.Connection
 * @param SQL java.lang.String
 * @param record int
 * @param first int
 * @exception java.sql.SQLException 异常说明。
 */
public static void getOnePage(Connection conn, BizComponent bc, ResultSet rs, int record, int first) throws java.sql.SQLException {


	if(record == 0){
		bc.fromResultSet(rs);	
		return ;
	}

	if(first <1){
		System.out.println("the first record number error");
		return;
	}
	int currNumber = first;
	

	int end = currNumber + record-1;

	int total = 0;
	
	ResultSetMetaData rsmd = rs.getMetaData();
	int columncount = rsmd.getColumnCount();
	Vector colNameVector = new Vector();
	for(int i=1;i<=columncount;i++){
		colNameVector.add(rsmd.getColumnName(i));
	}

	bc.newRecord();
	while(rs.next()){
		total ++;
		if( (total>=currNumber ) && (total<=end) ){
			bc.newRecord();
			for(int i=0;i<columncount;i++){
				String colname = (String)colNameVector.elementAt(i);
				Object value = rs.getObject(colname);
				String val = "";
				if(value != null){
					val = SSEDataConverter.toString(value,2);
				}
				bc.setFieldValue(colname,val);
			}	
		}
			//System.out.println(total);
	}
	
	boolean isLast = false;
	boolean hasNextPage = false;
	boolean hasPreviousPage = false;	
	int totalPage = total / record;
	if(total % record > 0)
		totalPage ++;
		
	if(end >= total){
		isLast = true;
		end = total;
	}

	bc.moveFirst();
	bc.setFieldValue("totalPage",new Integer(totalPage).toString());
	if(!isLast)
		hasNextPage=true;
	if(currNumber-record>=0)
		hasPreviousPage=true;
	bc.setFieldValue("hasNextPage",new Boolean(hasNextPage).toString());
	bc.setFieldValue("hasPreviousPage",new Boolean(hasPreviousPage).toString());
	bc.setFieldValue("cursor",new Integer(currNumber).toString());
	bc.setFieldValue("record",new Integer(record).toString());
	bc.setFieldValue("currPage",new Integer(currNumber/record+1).toString());
	bc.setFieldValue("totalRecord",new Integer(total).toString());
	
	
}
/**
 * 此处插入方法描述。
 * 创建日期:(2002-6-21 17:42:19)
 * @return com.ibm.bisc.ebiz.base.BizComponent
 * @param conn java.sql.Connection
 * @param SQL java.lang.String
 * @param record int
 * @param first int
 * @exception java.sql.SQLException 异常说明。
 */
public static BizComponent getOnePage(Connection conn, String SQL, int record, int first) throws java.sql.SQLException {

	Statement stat = conn.createStatement();
	ResultSet rs = stat.executeQuery(SQL);

	if(record == 0){
		BizComponent bc = new BizComponent("totalResult");
		bc.fromResultSet(rs);	
		return bc;
	}

	if(first <1){
		System.out.println("the first record number error");
		return null;
	}
	int currNumber = first;
	

	int end = currNumber + record-1;

	int total = 0;
	
	ResultSetMetaData rsmd = rs.getMetaData();
	int columncount = rsmd.getColumnCount();
	Vector colNameVector = new Vector();
	for(int i=1;i<=columncount;i++){
		colNameVector.add(rsmd.getColumnName(i));
	}

	BizComponent bc = new BizComponent("totalResult");
	bc.newRecord();
	while(rs.next()){
		total ++;
		if( (total>=currNumber ) && (total<=end) ){
			bc.newRecord();
			for(int i=0;i<columncount;i++){
				String colname = (String)colNameVector.elementAt(i);
				Object value = rs.getObject(colname);
				String val = "";
				if(value != null){
					val = SSEDataConverter.toString(value,2);
				}
				bc.setFieldValue(colname,val);
			}	
		}
			//System.out.println(total);
	}
	
	boolean isLast = false;
	boolean hasNextPage = false;
	boolean hasPreviousPage = false;	
	int totalPage = total / record;
	if(total % record > 0)
		totalPage ++;
		
	if(end >= total){
		isLast = true;
		end = total;
	}

	bc.moveFirst();
	bc.setFieldValue("totalPage",new Integer(totalPage).toString());
	if((end)<total)
		hasNextPage=true;
	if(currNumber-record>=0)
		hasPreviousPage=true;
	bc.setFieldValue("hasNextPage",new Boolean(hasNextPage).toString());
	bc.setFieldValue("hasPreviousPage",new Boolean(hasPreviousPage).toString());
	bc.setFieldValue("cursor",new Integer(currNumber).toString());
	bc.setFieldValue("record",new Integer(record).toString());
	bc.setFieldValue("currPage",new Integer(currNumber/record+1).toString());
	bc.setFieldValue("totalRecord",new Integer(total).toString());

	stat.close();

	return bc;
	
	
}
/**
 * 此处插入方法描述。
 * 创建日期:(2002-6-21 17:42:19)
 * @return com.ibm.bisc.ebiz.base.BizComponent
 * @param conn java.sql.Connection
 * @param SQL java.lang.String
 * @param record int
 * @param first int
 * @exception java.sql.SQLException 异常说明。
 */
public static BizComponent getOnePage(Connection conn, ResultSet rs, int record, int first) throws java.sql.SQLException {


	if(record == 0){
		BizComponent bc = new BizComponent("totalResult");
		bc.fromResultSet(rs);	
		return bc;
	}

	if(first <1){
		System.out.println("the first record number error");
		return null;
	}
	int currNumber = first;
	

	int end = currNumber + record-1;

	int total = 0;
	
	ResultSetMetaData rsmd = rs.getMetaData();
	int columncount = rsmd.getColumnCount();
	Vector colNameVector = new Vector();
	for(int i=1;i<=columncount;i++){
		colNameVector.add(rsmd.getColumnName(i));
	}

	BizComponent bc = new BizComponent("totalResult");
	bc.newRecord();
	while(rs.next()){
		total ++;
		if( (total>=currNumber ) && (total<=end) ){
			bc.newRecord();
			for(int i=0;i<columncount;i++){
				String colname = (String)colNameVector.elementAt(i);
				Object value = rs.getObject(colname);
				String val = "";
				if(value != null){
					val = SSEDataConverter.toString(value,2);
				}
				bc.setFieldValue(colname,val);
			}	
		}
			//System.out.println(total);
	}
	
	boolean isLast = false;
	boolean hasNextPage = false;
	boolean hasPreviousPage = false;	
	int totalPage = total / record;
	if(total % record > 0)
		totalPage ++;
		
	if(end >= total){
		isLast = true;
		end = total;
	}

	bc.moveFirst();
	bc.setFieldValue("totalPage",new Integer(totalPage).toString());
	if((end)<total)
		hasNextPage=true;
	if(currNumber-record>=0)
		hasPreviousPage=true;
	bc.setFieldValue("hasNextPage",new Boolean(hasNextPage).toString());
	bc.setFieldValue("hasPreviousPage",new Boolean(hasPreviousPage).toString());
	bc.setFieldValue("cursor",new Integer(currNumber).toString());
	bc.setFieldValue("record",new Integer(record).toString());
	bc.setFieldValue("currPage",new Integer(currNumber/record+1).toString());
	bc.setFieldValue("totalRecord",new Integer(total).toString());

	return bc;
	
	
}
/**
 * 此处插入方法描述。
 * 创建日期:(2002-6-21 17:42:19)
 * @return com.ibm.bisc.ebiz.base.BizComponent
 * @param conn java.sql.Connection
 * @param SQL java.lang.String
 * @param record int
 * @param first int
 * @exception java.sql.SQLException 异常说明。
 */
public static void gotoOnePage(Connection conn, BizComponent bc, ResultSet rs, int record, int gotopage) throws java.sql.SQLException {


	if(record == 0){
		bc.fromResultSet(rs);	
		return ;
	}

	if(gotopage <1){
		System.out.println("error: the page number to go < 1");
		return;
	}
	int currNumber = (gotopage-1)*record;
	

	int end = currNumber + record-1;

	int total = 0;
	
	ResultSetMetaData rsmd = rs.getMetaData();
	int columncount = rsmd.getColumnCount();
	Vector colNameVector = new Vector();
	for(int i=1;i<=columncount;i++){
		colNameVector.add(rsmd.getColumnName(i));
	}

	bc.newRecord();
	while(rs.next()){
		total ++;
		if( (total>=currNumber ) && (total<=end) ){
			bc.newRecord();
			for(int i=0;i<columncount;i++){
				String colname = (String)colNameVector.elementAt(i);
				Object value = rs.getObject(colname);
				String val = "";
				if(value != null){
					val = SSEDataConverter.toString(value,2);
				}
				bc.setFieldValue(colname,val);
			}	
		}
			//System.out.println(total);
	}
	
	boolean isLast = false;
	boolean hasNextPage = false;
	boolean hasPreviousPage = false;	
	int totalPage = total / record;
	if(total % record > 0)
		totalPage ++;
		
	if(end >= total){
		isLast = true;
		end = total;
	}

	bc.moveFirst();
	bc.setFieldValue("totalPage",new Integer(totalPage).toString());
	if(!isLast)
		hasNextPage=true;
	if(currNumber-record>=0)
		hasPreviousPage=true;
	bc.setFieldValue("hasNextPage",new Boolean(hasNextPage).toString());
	bc.setFieldValue("hasPreviousPage",new Boolean(hasPreviousPage).toString());
	bc.setFieldValue("cursor",new Integer(currNumber).toString());
	bc.setFieldValue("record",new Integer(record).toString());
	bc.setFieldValue("currPage",new Integer(currNumber/record+1).toString());
	bc.setFieldValue("totalRecord",new Integer(total).toString());
	
	
}
/**
 * 此处插入方法描述。
 * 创建日期:(2002-6-21 17:50:00)
 * @param args java.lang.String[]
 */
public static void main(String[] args) {

	try{
	
		Class.forName("oracle.jdbc.driver.OracleDriver");
		Connection conn = DriverManager.getConnection("jdbc:oracle:oci8:@portal2", "infopub", "infopub");

		String sql = "select * from LC_STOCK_STRUCTURES where rownum<30";
		Statement stat = conn.createStatement();
		ResultSet rs = stat.executeQuery(sql);

		BizComponent biz = new BizComponent("aa");
		SQLPageUtil.getOnePage(conn,biz,rs,10,11);
		biz.dump(System.out);
	}catch(Exception e){
		System.out.println(e);
	}
	
}
}

⌨️ 快捷键说明

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