11.JDBC(이전/다음 구현하기)

sana·2022년 8월 2일

JDBC

목록 보기
11/14

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게시글 제대로 출력완료

profile
공부한내용 정리하고있는 개린이입니다

0개의 댓글