yeonghoon.kim

  • 게시판
  • 갤러리
  • aws

페이징 오라클용(row_number 이용)

김영훈 2020.09.12 14:33 조회 수 : 858

"            // [paging - 1] 현재 페이지 취득
            int currentPage = Integer.parseInt(params.get("page"));
            
            // [paging - 2] 총 게시물 수를 구함
            int getBoardListCnt = iBoardService.getBoardListCnt();
            
            // [paging - 3] 페이지당 게시글 수 지정(10개)
            int viewCount = 10;
            
            // [paging - 4] 페이징 개수 지정(5개)
            int pageCount = 5;
            
            // [paging - 5] 시작 게시글 번호 계산 : (현재P - 1) * 페이지당 게시글 수 + 1
            int startCount = (currentPage - 1) * viewCount + 1;
            
            // [paging - 6] 종료 게시글 번호 계산 : 현재P * 페이지당 게시글 수
            int endCount = currentPage * viewCount;
            
            /*
                 [paging - 7] 총 페이지 계산
                 1) 총게시물 수 % 페이지당 게시글의 결과가 0일 아닐 경우 : 총 게시물 수 / 페이지당 게시글 수
                 2) 총게시물 수 % 페이지당 게시글의 결과가 0일 경우 : 총게시물 수 / 페이지당 게시글 수  + 1
             */
            int maxPageCount = 0;
            if(getBoardListCnt % viewCount > 0) {
                maxPageCount = (getBoardListCnt / viewCount) + 1;
            } else {
                maxPageCount = getBoardListCnt / viewCount;
            }
            /*
                 [paging - 8] 현재 페이지 기준 시작 페이지 번호 계산
                 1) 현재 페이지 % 페이징 개수의 결과가 0이 아닐 경우 : (현재 페이지 / 페이징 개수) + 1
                 2) 현재 페이지 % 페이징 개수의 결과가 0일 경우 : 현재 페이지 - 페이징 개수 + 1
             */
            int startPageCount = 0;
            if(currentPage % pageCount != 0) {
                startPageCount = (currentPage / pageCount) + 1;
            } else {
                startPageCount = currentPage - pageCount + 1;
            }
            /*
                 [paging - 9] 현재 페이지 기준 종료 페이지 번호 계산
                 시작 페이지 + 페이징 개수 - 1(단, 최대 페이지보다 클 경우  종료페이지는 최대페이지로...)
             */
            int endPageCount = startPageCount + pageCount - 1;
            
            if(endPageCount >= maxPageCount) {
                endPageCount = maxPageCount;
            }
 "

  • 추천 0

  • 비추천 0
이 게시물을
목록

댓글 0

번호 제목 글쓴이 날짜 조회 수
공지 2025 일본 여행 계획 김영훈 2024.10.10 3258
공지 현금, 저축, 투자, 지출, 예산, 보험 내역(2024-05-30) 김영훈 2024.03.10 2809
149 집 와이파이 정보 김영훈 2020.09.14 454
148 페이징 mysql용(limit 이용) 김영훈 2020.09.12 1613
» 페이징 오라클용(row_number 이용) 김영훈 2020.09.12 858
146 학원 20200619 정리(형상관리, git) 김영훈 2020.06.19 1325
145 학원 20200618 정리(스트림, 업로드, jquery.form) 김영훈 2020.06.18 785
144 학원 20200610 정리(라이센스) 김영훈 2020.06.10 540
143 학원 20200609 정리(동기/비동기 방식, ajax) 김영훈 2020.06.09 1170
142 학원 20200608 정리(세션, 로그인, AOP) 김영훈 2020.06.08 1013
141 학원 20200602 정리(게시판 기본 로직) 김영훈 2020.06.02 475
140 학원 20200601 정리(페이징 로직) 김영훈 2020.06.01 758
139 학원 20200528 정리(페이징) 김영훈 2020.05.28 1064
138 학원 20200527 정리(스프링 DAO) 김영훈 2020.05.27 932
137 학원 20200526 정리(스프링 RequestParam, DI, Maven) 김영훈 2020.05.26 1610
136 학원 20200525 정리(JSP, 스프링 기초, MVC패턴) 김영훈 2020.05.25 629
135 학원 20200513 정리(jQuery 기초2) 김영훈 2020.05.13 1050
134 학원 20200512 정리(jQuery 기초1) 김영훈 2020.05.12 819
133 학원 20200511 정리(javascript 기초3) 김영훈 2020.05.11 1318
132 학원 20200506 정리(javascript 기초2) 김영훈 2020.05.06 767
131 1부터 1000까지 출력(라인 수 = 최대 출력 개수) 김영훈 2020.05.04 380
130 학원 20200428 정리(javascript 기초1) 김영훈 2020.04.28 2097
쓰기 태그
 첫 페이지 2 3 4 5 6 7 8 9 10 11 끝 페이지