효율적인 JSP 페이징 쿼리
저자:Eve Cole
업데이트 시간:2009-07-02 17:22:40
Jsp는 다음과 같습니다.
**********************
<%@ 페이지 언어="java" import="java.util.*,java.sql.*" %>
<%@ 페이지 contentType="text/html;charset=gb2312"%>
<%
int curpage=1;//현재 페이지
int page_record=20;//각 페이지에 표시되는 레코드 수
//다음 방법을 사용합니다(SQL 쿼리 완료, 빠름).
curpage=Integer.parseInt(request.getParameter("page"));//전달된 값과 표시해야 하는 페이지를 가져옵니다.
ResultSet rs=cn.rsexecuteQuery("select top "+page_record+" * from tablename where id in (select top "+(curpage*page_record)+" id from tablename order by id desc) order by id desc");
//이 쿼리문은 표시할 1000페이지 중 20개의 레코드를 얻습니다. 일반적인 아이디어는 하위 쿼리가 표시해야 하는 레코드 앞의 모든 레코드를 제외하고 상위 쿼리가 나머지 레코드를 내림차순으로 정렬한다는 것입니다.
동안(rs.next) {
out.println(rs.getInt("id").toString());
}
rs.close();
%>