ResultSet光标移动控制

package test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import common.DbUtils;

public class ScrollResultSertTest {

	public static void main(String[] args) {
		testPage(1,8);
	}
	public static void testPage(int pageNo,int PageSize){
		Connection conn=null;
		PreparedStatement pstmt=null;
		ResultSet rs=null;
		
		String url="jdbc:mysql://localhost:3306/test";
		String user="root";
		String password="root";
		String sql="select * from employee";
		try {
			Class.forName("com.mysql.jdbc.Driver");
			conn=DriverManager.getConnection(url, user, password);
			pstmt=conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
			rs=pstmt.executeQuery();
			rs.absolute(-1);//光标移到最后一行
			System.out.println("总共"+rs.getRow());
			//firstResult从哪一条记录开始;maxResults总共取多少条记录
			
			int start=(pageNo-1)*PageSize;
			if(start==0){
				rs.beforeFirst();
			}else{
				rs.absolute(start);
			}
			for(int i=0;rs.relative(1)&&i<PageSize;i++){//相对移动到下一行
				System.out.println(rs.getInt(1));
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			DbUtils.close(rs, pstmt, conn);
		}
	}

}


你可能感兴趣的:(ResultSet光标移动控制)