console객체가 page란 변수를 가지고 있게해서 이전 다음을 구분해보자
public class NoticeConsole {
private NoticeService service;
private int page;
NoticeConsole에 page 변수 추가
public NoticeConsole() {
service = new NoticeService();
page = 1;
}
생성자에 page = 1; 추가해서 기본값 가지게함
case 2:// 이전
console.movePrevList();
break;
case 3:// 다음
console.moveNextList();
break;
먼저 메서드 적어주고 구현하러 가보자
public void movePrevList() {
if(page==1) {
System.out.println("이전페이지가 없습니다.");
return;
}
page--;
}
public void moveNextList() {
page++;
}
구현해주고
List<Notice> list = service.getList(page);
매개변수도 page로 바꿔줌
근데 문제가 있음
다음페이지가 어디까지 있는지 모름
그래서 게시글 개수를 구해보자
NoticeConsole 클래스에서
public class NoticeConsole {
private NoticeService service;
private int page;
private int count;
public NoticeConsole() {
service = new NoticeService();
page = 1;
count = 0;
}
private int count; 총개시물숫자라는 count라는 변수 생성해주구
초기값 0으로 넣어준다
System.out.printf("<공지사항> 총 %d게시글\n", count);여기도 count 넣어줌
List<Notice> list = service.getList(page);
count = service.getCount();
현재 데이터베이스의 테이블에 노티스가 총 몇개의 레코드를 갖고있냐 를
가져오는
getCount(); 만들어주고 밑줄 create해서 구현해보자
getCount() 이놈같은경우 단위값을 얻어오게 되는데 스칼라 값을 얻어 온다 라고도 말함
얘는 셀렉트문이 필요하니까 셀렉트 밑에다가 일단 위치시켰음
return list;
}
//scalar
public int getCount() {
// TODO Auto-generated method stub
return 0;
}
그리고 셀렉트문과 비슷하게 얻어오는 거니까 셀렉트문을 복사해서 집어넣고 수정 해보자
일단 count를 반환해야하니까
int count = 0;
return count;
적어주고
String sql = "SELECT COUNT(ID) FROM NOTICE";
교체
디벨로퍼에서 SELECT COUNT(ID) FROM NOTICE실행해봄

컬럼명이 COUNT(ID)로 그대로 나옴
SELECT COUNT(ID) COUNT FROM NOTICE;로 실행해서
별칭을줘서 컬럼명이 COUNT로 나오게바꿈 (이클립스 에서도 쿼리문 수정하셈)
count =rs.getInt("COUNT");수정하고 나머지 지움
if(rs.next())
count =rs.getInt("COUNT");
결과집합이 가르키는게 있으면 count에 넣고 없으면 기본값인 0으로 하게하는 if문
실행해보자


21게시글 제대로 출력완료