메뉴 건너띄기
상단메뉴 바로가기
본문 바로가기

이 누리집은 대한민국 공식 전자정부 누리집입니다.

본문 영역

적용 지원, FAQ, Q&A 게시판을 통해 기술 문제 해결을 지원합니다.

묻고 답하기

오라클 페이징 관련입니다.
  • 작성자

    이*영

  • 작성일

    2009-09-16 15:07:34

  • 조회수

    5,339

  • 구분

    실행환경

  • 진행상태

    완료

질문

eGov에서 제공하고 있는
egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo 을 이용하여 페이징을 구현하려고 합니다.

PaginationInfo 클래스의 시작번호(startIndex), 종료번호(endIndex) 기준은
HsqlDB, MySQL 의 LIMIT 기준으로 나와있네요.

오라클 페이징은 서브쿼리와 ROWNUM을 이용하여서 구현을 해야 하는데요.
오라클은 시작번호가 0이 아니고 1로 시작하는 걸로 알고 있습니다.

PaginationInfo 에서 설정을 변경하는 부분이 있는건지요?
아니면 저희가 일일히 paginationInfo.getFirstRecordIndex() + 1 을 해주어야 하나요?

답변부탁드립니다.

답변

안녕하세요.. 이원영님..

말씀하신 것 처럼 rownum을 사용하시면 됩니다. 다만 질문하셨던 것 처럼 소스 상에 변경이 아닌 query 상에서 다음과 같이 수행하시면 됩니다.

SELECT * FROM ( SELECT rownum rn, TB.* FROM (
// 원래 query...
) TB ) WHERE rn BETWEEN #firstIndex# + 1 AND #firstIndex# + #recordCountPerPage#

위와 같이 #firestIndex#를 + 1로 처리하시면 됩니다..

그럼.. 남은 하루도 즐거운 하루 되십시오.
감사합니다..

이 페이지의 구성

묻고 답하기