yeonghoon.kim

  • 게시판
  • 갤러리
  • aws

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

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

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