이번에는
저번 게시물에서 임의로 지정해 주었던
totalCount(총 게시물의 갯수)를 DB에서 불러오는
메소드와 쿼리문을 작성해 보겠습니다.
MemberListController.java
1 2 | int count = dao.getAllCount(); paging.setTotalCount(count); | cs |
setTotalCount의 인자로 주었던 상수를 count 변수로 대체하고
count 변수에는 MemberDao에서 만든 getAllCount()메소드로
받아온 값을 대입시켜줍니다.
MemberDao.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | public int getAllCount() { String sql = "SELECT COUNT(*) as count FROM member2"; conn = DBManager.getConnection(); int count = 0; try{ stmt = conn.createStatement(); rs= stmt.executeQuery(sql); if(rs.next()){ count = rs.getInt("count"); } }catch(SQLException e){ e.printStackTrace(); }finally{ DBManager.Close(rs, stmt, conn); } return count; } | cs |
MemberDao에 getAllCount()메소드를 만들어줍니다.
(member2 테이블의 레코드 갯수를 count해서 받아오는 기능.)
MemberListController.java
1 2 | int count = dao.getAllCount(); paging.setTotalCount(count); | cs |
1 | paging.setPage(page); |
이제 MemberListController.java에서 상수를 파라미터로 넘겨주던 것을 count라는 변수를 만들어 위 메소드의 결과값을 반환해서 인자로 전달해주도록 해줍니다.
MemberDao.java
1 2 3 | public List<Member> selectAllMember(Paging paging){ int startNum = paging.getStartNum(); int endNum = paging.getEndNum(); | cs |
MemberDao.java의 selectAllMember 메소드에도 약간의 변화가 생겼습니다.
컨트롤러에서 직접 파라미터값을 int형으로 전달받던 것을 paging.java로 넘긴 후, 그 객체를 인자로 전달받도록 하였습니다.
startNum 변수와 endNum 변수도 paging객체로 전달해 준 후 getter를 이용하여 불러오도록 바꾸었습니다.
Paging.java
1 2 3 4 5 | private int startNum; private int endNum; startNum = (page-1)*displayRow+1; endNum = page*displayRow; | cs |
Paging.java로 MemberDao.java의 selectAllMember() 메소드에 있던 startNum과 endNum을 이동시켜 주면 끝.
이제 페이징이 모두 마무리 되었습니다.
다음 수업에서는 게시판에 파일을 업로드하는 방법에 대해서 공부하겠습니다.
'JSP > 기본다지기' 카테고리의 다른 글
[JSP] 페이징(Paging) ③ [11월28일] (1) | 2016.11.29 |
---|---|
[JSP] 페이징(Paging) ② [11월28일] (2) | 2016.11.29 |
[JSP] 페이징(Paging) ① [11월28일] (0) | 2016.11.29 |
JSP 8일차 필기 (EL 태그) (0) | 2016.10.28 |
JSP 7일차 필기 (Bean) (0) | 2016.10.26 |