본문 바로가기
Java (국비)/Java 메모

MVC (Model-View-Controller) 메모 2

by Hwanii_ 2023. 5. 24.
728x90

DAO 코드 수정)

 

 

 

 

Controller 예시)

 

View와 DAO를 사용해야하므로, 선언 후

생성자에서 초기화.

 

장바구니 기능을 위해 controller 에 추가.

 

1. V의 프린트메뉴 메서드를 호출해서 인자를 받고,

int action에 저장.

 

2. action이 1, 2, 3, 4, 5, 6, 7 에 따라, 기능이 실행..

(View에서 기능을 알려주는 인터페이스가 있다면, 기능을 사용하기 위해 번호 입력을 하면

그 번호를 Controller에서 받아서 action에 저장하고, 여기서 

1번일때는 무슨무슨기능

2번일때는 무슨무슨기능

..

7번일때는 무슨무슨기능 하면서 View와 DAO를 연결시켜준다.

 

3. View와 DAO는 절대로 한줄에 같이 있지 않음을 알 수 있다.

 

4. 컨트롤러에서 DAO로 그저 전달을 해주기 위해 객체를 생성했고, (1회성 느낌으로..)

name, price, cnt만 전달하는 상황인데, 얘네를 vo 참조변수에 전부 다 넣어서 저장하고,

깔끔하게 한번에 보내는 상황 이다.

이때, PK는 여기서 입력을 받는 상황이 절대로 아님을 생각해야 한다.

why ?  고유번호는 사용자로부터 입력을 받는게 아니고, 내부에서 알아서 객체(음료수)가

생성될 때 자동으로 되는 상황 이다.

따라서, 불필요한 값은 null 또는 0으로 넣는 것이다.

PK는 int값이니, 0으로 넣게 된다.

 

1. 해당 기능은 배열리스트의 데이터를 DAO 에서 가져와서 View에 넘겨줘야하는 상황이므로,

dao.selectAll을 해서 리턴값을 받고 그 값을 DrinkVO의 배열리스트에 저장한다.

 

2. 

 

3. 컨트롤러가 리턴값을 받았으니, 그 값을 View에 전달한다.

 

1. 음료 구매 기능은, View에서 PK를 받아 와서 num에 저장하게 된다.

2. 받아온 num을 DrinkVO 타입의 참조변수 vo에 저장해야 하므로,

DrinkVO 객체를 생성할때, 생성자는 4개짜리 이다.

 

그런데, 여기서 필요한 정보는 num(PK) 밖에 필요하지 않기 때문에,

불필요한 값들은 null,0 으로 넣는다.

 

3. 그렇게 해서 받은 vo를 dao.update(vo)에 넣고 .. ?

 

1. view에 받아온 PK를 num에 저장하고,

2. 필요한 값은 PK이기때문에 나머지는 null 0 0

3. vo에 생성된 객체의 정보를 저장해서

4. dao.delete 메서드의 인자로 넣는다.

5. delete 메서드는 DrinkVO 타입의 vo를 인자로 받고

컨트롤러한테 받은 PK가 DrinkVO 배열리스트 안에있는 객체(음료)와 같다면 ?

그 객체(음료)를 지워.

 

 

 

반응형

'Java (국비) > Java 메모' 카테고리의 다른 글

4주차 복습  (0) 2023.05.25
MVC 패턴 느낀점  (0) 2023.05.25
MVC (Model-View-Controller) 메모  (0) 2023.05.24
에러 메모  (0) 2023.05.19
로그  (0) 2023.05.17