JDBC 의 페이지 조회

2483 단어 OracleJDBC
도구:Myeclipse(Eclipse):
지식 포인트:JDBC 의 페이지
jar 가방:
commons-collections4-4.0.jar
commons-dbcp-1.4.jar
commons-pool-1.6.jar
Oracle 11g 11.2.0.1.0 JDBC_ojdbc6.jar
코드 는 모두 자신 이 쓴 연결 탱크 기술 을 바탕 으로 이미 공유 되 었 다.
url:http://blog.csdn.net/coder_hello_world/article/details/78515974
JDBC 에 서 는 페이지 기술 을 사용 하여 데이터 읽 기 중의 데 이 터 를 처리 합 니 다.
홈 페이지 에서 무언 가 를 검색 하 는 것 처럼 다 보 여 주 는 것 은 아니 지만 페이지 가 만들어 집 니 다.
페이지 나 누 기 알고리즘:
start=(page-1)*pageSize-1
end = page*pageSzie;
package com.gaosheng.day07;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Scanner;

import com.gaosheng.day02.JDBCPool1;

/*
 *     
 * @author 89155
 *
 */
public class PageDemo {
	@SuppressWarnings("all")
	public static void main(String[] args) {
	Scanner scanner = new Scanner(System.in);
	
	//    
	System.out.println("       ");
	String tableName = scanner.nextLine().trim();
	
	//          
	System.out.println("          ");
	String colName = scanner.nextLine().trim();
	
	//        
	System.out.println("         :");
	int pageSize = Integer.parseInt(scanner.nextLine());
	
	//     
	System.out.println("     :");
	int page = Integer.parseInt(scanner.nextLine());
	
	try{
		Connection connection 
		= JDBCPool1.getConnection();
		
		/*	
		 *  :SELECT * FROM EMP ORDER BY ENAME;
		 *  :
		 *  :
		 */
		//     
		
		String pageSql = "SELECT * FROM("
				+ "SELECT ROWNUM RW,E.* FROM "
				+ "(SELECT * FROM "
				+tableName+" "
				+ "ORDER BY "+colName+") E) "
					+ "WHERE RW BETWEEN ? AND ?";
	/*	String pageSql = 
				"SELECT * FROM("
				+ "SELECT ROWNUM RW,E.* FROM "
				+ "(SELECT * FROM "
				+tableName+" "
				+ "ORDER BY "+colName+") E) "
				+ "WHERE RW >=? AND RW <=?";*/
		System.out.println(pageSql);
		
		PreparedStatement pstate = connection.prepareStatement(pageSql);
	//       
			int strat = (page - 1)*pageSize+1;
			int end = page*pageSize;
			pstate.setInt(1, strat);
			pstate.setInt(2, end);
			
			ResultSet rs = pstate.executeQuery();
			while(rs.next()){
			int sal = rs.getInt("SAL");
			String ename = rs.getString("ENAME");
			System.out.println(sal+":"+ename);
			}
	}catch(Exception e){
		e.printStackTrace();
	}finally{
		JDBCPool1.closeConnection();
	}
		
}
}

좋은 웹페이지 즐겨찾기