Java 利用游标实现分页

public List<Message> getByPage(int page) {

		// TODO Auto-generated method stub

		

		String sql = "select * from message";

		Message message = null;

		DateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

		List<Message> list = new ArrayList<Message>();

		

		try {

			

			connection = super.getConnection();

			

			stmt = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

			

			rs = stmt.executeQuery(sql);

			

			rs.last();

			

			int rowCount = rs.getRow();

			System.out.println("留言总数"  + rowCount);

			if(rowCount == 0)

			{

				//没有任何留言

				return null;

			}

			

			int countPerPage = 3;

			//int pageCount = (rowCount + countPerPage - 1) / countPerPage;

			rs.absolute((page - 1) * countPerPage + 1);

			

			int i = 0;

	  		

	  		while(i < countPerPage && !rs.isAfterLast())

	  		{

	  			message = new Message();

				message.setId(rs.getInt("id"));

				message.setMessage(rs.getString("message"));

				message.setAuthor(rs.getString("author"));

				message.setPosttime(rs.getString("posttime"));



				list.add(message);

				i++;

	  			rs.next();

	  		}

			

	  		super.closeConnection(connection, stmt, null);

	  		

		}catch (SQLException e) {

			// TODO Auto-generated catch block

			e.printStackTrace();

		}

		catch (Exception e) {

			// TODO Auto-generated catch block

			e.printStackTrace();

		}

		

		connection = null;

		stmt = null;

		rs = null;

		

		return list;

	}

 

你可能感兴趣的:(java)