백엔드/Database

Jdbc(ojdbc) 사용자 인터페이스 | TIL_137

ran4 2022. 8. 24. 23:41

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;
	}
}