package com.newlecture.app.console;
import java.sql.SQLException;
import java.util.List;
import java.util.Scanner;
import com.newlecture.app.entity.Notice;
import com.newlecture.app.service.NoticeService;
public class Noticeconsole {
private NoticeService service;
private int page;
public Noticeconsole() {
service = new NoticeService();
page=1;
}
public void printNoticeList() throws ClassNotFoundException, SQLException {
List<Notice> list = service.getList(page); // 페이지 1 넣어보기
int count = service.getcount(); // 목록을 출력하고자하면 얻어와야한다
int lastPage = count/10; // 만약 레코드가 100이면 10 페이지 이지만 93 일경우 나머지 발생
//현재 페이지목록을 구하고 전체 갯수를 구해서 마지막 페이지를 구한다
lastPage = count%10>0?lastPage+1:lastPage;
// 나머지 발생할 경우 생각 해줘야한다
System.out.println("----------------------------");
System.out.printf("<공지사항> 총%d게시글\n",count);
System.out.println("----------------------------");
for(Notice n :list) {
System.out.printf("%d. %s / %s / %s\n",
n.getId(),
n.getTitle(),
n.getWriterld(),
n.getRegDate());
}
System.out.println("----------------------------");
System.out.printf(" %d%d pages\n", page, lastPage);
}
public int inputNoticeMenu() {
Scanner scan = new Scanner(System.in);
System.out.printf("1.상세조회/2.이전/3.다음/4.글쓰기/5.종료>");
String menu_ = scan.nextLine();// 정수가 아닌 다른 것이 눌렸을 경우 에러가 발생한다 다음입력에 영향을 줄 수 있다
// 메뉴를 임시변수에다가 담는다
int menu = Integer.parseInt(menu_); // 메뉴를 정수형으로 바꾼다
return menu;
}
public void movePrevList() {
if(page == 1) {
System.out.println("==============");
System.out.println("이전페이지가 없습니다");
System.out.println("==============");
return;
}
page --;
}
public void moveNextList() throws ClassNotFoundException, SQLException {
int count = service.getcount(); // 이전에 사용했던것을 쓰면 안된다 (위의것)
int lastPage = count/10;
lastPage = count%10>0?lastPage+1:lastPage;
if(page == lastPage) { // 마지막번호는 movenextlist 가 호출될떄 가져와서 있는지 없는지 확인해야한다
System.out.println("이전페이지가 없습니다");
return;
}
page++;
}
}
댓글남기기