yeonghoon.kim

  • 게시판
  • 갤러리
  • aws

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

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

"            // [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 2545
공지 현금, 저축, 투자, 지출, 예산, 보험 내역(2024-05-30) 김영훈 2024.03.10 2088
148 페이징 mysql용(limit 이용) 김영훈 2020.09.12 1192
» 페이징 오라클용(row_number 이용) 김영훈 2020.09.12 708
146 학원 20200619 정리(형상관리, git) 김영훈 2020.06.19 1047
145 학원 20200618 정리(스트림, 업로드, jquery.form) 김영훈 2020.06.18 676
144 학원 20200610 정리(라이센스) 김영훈 2020.06.10 419
143 학원 20200609 정리(동기/비동기 방식, ajax) 김영훈 2020.06.09 863
142 학원 20200608 정리(세션, 로그인, AOP) 김영훈 2020.06.08 856
141 학원 20200602 정리(게시판 기본 로직) 김영훈 2020.06.02 365
140 학원 20200601 정리(페이징 로직) 김영훈 2020.06.01 659
139 학원 20200528 정리(페이징) 김영훈 2020.05.28 580
138 학원 20200527 정리(스프링 DAO) 김영훈 2020.05.27 726
137 학원 20200526 정리(스프링 RequestParam, DI, Maven) 김영훈 2020.05.26 821
136 학원 20200525 정리(JSP, 스프링 기초, MVC패턴) 김영훈 2020.05.25 451
135 학원 20200513 정리(jQuery 기초2) 김영훈 2020.05.13 864
134 학원 20200512 정리(jQuery 기초1) 김영훈 2020.05.12 686
133 학원 20200511 정리(javascript 기초3) 김영훈 2020.05.11 1165
132 학원 20200506 정리(javascript 기초2) 김영훈 2020.05.06 366
131 1부터 1000까지 출력(라인 수 = 최대 출력 개수) 김영훈 2020.05.04 297
130 학원 20200428 정리(javascript 기초1) 김영훈 2020.04.28 1105
129 학원 20200424 정리(CSS 기초3) 김영훈 2020.04.24 347
쓰기 태그
 첫 페이지 2 3 4 5 6 7 8 9 10 11 끝 페이지