https://www.youtube.com/playlist?list=PLq8wAnVUcTFWxwoc41CqmwnO-ZyRDL0og
강의를 듣고 정리한 내용입니다
사용자 인터페이스
상수 값이 아닌 사용자에게 값을 입력받을 수 있도록 인터페이스를 만든다
- 웹 기반의 사용자 인터페이스
- 콘솔 기반의 사용자 인터페이스
**ui는 자바를 배운 이후에 듣는 것을 가정했기 때문에 콘솔 기반으로 작성한다
목록에서 작성할 내용
- 상세조회
- 이전
- 다음
- 글쓰기
- 페이지 넘기기 (옵션)
NoticeConsole 클래스 생성
package com.newlecture.app.console
NoticeConsole.java
//콘솔이 데이터를 가지고 있어야 한다
private NoticeService service;
public NoticeConsole() {
service = new NoticeService();
}
public void printNoticeList() throws ClassNotFoundException, IOException, SQLException {
List<Notice> list = service.getList();
System.out.println("─────────────────────────"); //ㅂ한자키
System.out.printf("<공지사항> 총%d 게시글", 12);
System.out.println("─────────────────────────");
for(Notice n : list) { //forEach문으로 반복
System.out.printf("%d. %s / %s / %s\n",
n.getId(), n.getTitle(), n.getWriterId(), n.getRegDate());
}
System.out.println("─────────────────────────");
System.out.printf(" %d/%d pages\n", 1, 2);
}
public int inputNoticeMenu() {
return 0;
}
Program5.java 파일을 생성하여 연결한다
package ex1
Program5.java
public class Program5 {
public static void main(String[] args) throws ClassNotFoundException, IOException, SQLException {
NoticeConsole console = new NoticeConsole();
EXIT: //EXIT:라는 라벨을 활용하여 끝낸다
while(true) {
console.printNoticeList();
int menu = console.inputNoticeMenu();
switch(menu) {
case 1 : //상세조회
break;
case 2 : //이전
break;
case 3 : //다음
break;
case 4 : //글쓰기
break;
case 5 : //종료
System.out.println("종료합니다.");
break EXIT;
//만약 주어진 숫자에 해당하지 않는 숫자를 입력한 경우
default :
System.out.println("<<사용방법>> 메뉴는 1~4까지만 입력할 수 있습니다.");
break;
}
}
}
}
-> 모든 쿼리가 출력되면 정상적으로 작동한 것이다
만약 추가한 쿼리가 적용이 안되었다면, commit을 했는지 확인해보자
공지사항 메뉴 붙이기
NoticeConsole 클래스의 public int inputNoticeMenu() 메서드에 내용 추가
public int inputNoticeMenu() {
Scanner kb = new Scanner(System.in);
System.out.printf("1.상세조회/ 2.이전/ 3.다음/ 4.글쓰기 / 5.종료 >");
String menu_ = kb.nextLine();
int menu = Integer.parseInt(menu_);
return 0;
}
}
'백엔드 > Database' 카테고리의 다른 글
Jdbc(ojdbc) 게시글 개수, 마지막 페이지 | TIL_139 (2) | 2022.08.31 |
---|---|
Jdbc(ojdbc) 페이징 쿼리 | TIL_138 (0) | 2022.08.29 |
Jdbc(ojdbc) crud 서비스 클래스 | TIL_136 (0) | 2022.08.19 |
트랜잭션 / 데이터 추가 사이트 | TIL_135 (0) | 2022.08.17 |
Jdbc(ojdbc) 데이터 추가, 수정, 삭제 | TIL_134 (0) | 2022.08.15 |