yeonghoon.kim

  • 게시판
  • 갤러리
  • aws

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

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

"            // [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 1997
공지 현금, 저축, 투자, 지출, 예산, 보험 내역(2024-05-30) 김영훈 2024.03.10 1627
» 페이징 오라클용(row_number 이용) 김영훈 2020.09.12 370
146 학원 20200619 정리(형상관리, git) 김영훈 2020.06.19 453
145 학원 20200618 정리(스트림, 업로드, jquery.form) 김영훈 2020.06.18 464
144 학원 20200610 정리(라이센스) 김영훈 2020.06.10 319
143 학원 20200609 정리(동기/비동기 방식, ajax) 김영훈 2020.06.09 524
142 학원 20200608 정리(세션, 로그인, AOP) 김영훈 2020.06.08 418
141 학원 20200602 정리(게시판 기본 로직) 김영훈 2020.06.02 297
140 학원 20200601 정리(페이징 로직) 김영훈 2020.06.01 351
139 학원 20200528 정리(페이징) 김영훈 2020.05.28 343
138 학원 20200527 정리(스프링 DAO) 김영훈 2020.05.27 338
137 학원 20200526 정리(스프링 RequestParam, DI, Maven) 김영훈 2020.05.26 370
136 학원 20200525 정리(JSP, 스프링 기초, MVC패턴) 김영훈 2020.05.25 346
135 학원 20200513 정리(jQuery 기초2) 김영훈 2020.05.13 414
134 학원 20200512 정리(jQuery 기초1) 김영훈 2020.05.12 361
133 학원 20200511 정리(javascript 기초3) 김영훈 2020.05.11 633
132 학원 20200506 정리(javascript 기초2) 김영훈 2020.05.06 300
131 1부터 1000까지 출력(라인 수 = 최대 출력 개수) 김영훈 2020.05.04 259
130 학원 20200428 정리(javascript 기초1) 김영훈 2020.04.28 546
129 학원 20200424 정리(CSS 기초3) 김영훈 2020.04.24 291
128 학원 20200423 정리(CSS 기초2) 김영훈 2020.04.23 368
쓰기 태그
 첫 페이지 2 3 4 5 6 7 8 9 10 11 끝 페이지