Review

KOSTA 교육 49일차(Semi-Project, insert, update)

Tigger 2020. 6. 23. 02:00

19. 1. 15(화)

 

실습 내용

 

  1. insert
  2. update

1. insert

  • insert시 담당자를 선택하여 해당 담당자는 프로젝트에서 담당자 권한을 가질 수 있도록 한다.
  • insert시 card를 선택하여 해당 card에 생성될 수 있도록 한다.

 

  • 내부회원, 외부회원이 나누어져 있어 각각의 이름과 이메일 그리고 총 인원을 구한다.
  • 이 때 프로젝트에 포함되어 있는 인원을 구해야하기 때문에 WHERE절에 pjt_no를 선언한다.

 

  • 현재 생성되어있는 카드를 가져오기 위해 카드 제목, 번호를 가져온다.

 

  • 두개의 List객체를 만들어준다.
  • Card List를 만들어 준다. 여기서 파라미터 값을 주지 않은 이유는 구분없이 모두 출력하기 위함이다.

 

  • listmember라는 메소드에 두개의 list를 선언한다.
  • 두개의 list를 mapping하고 하나의 list에 addAll(list2)를 통해 list 하나에 담는다.
  • 그리고 list를 return한다.

 

  • Card list를 생성하고 Mapping 후 return한다.

 

  • 프로젝트에 참여된 list를 return하기 위해 list에 pjt_no를 받은 dao를 넣어준다.
  • list를 return한다.

 

  • list에 Mapping된 dao 메소드를 선언하고 return한다.

 

  • Form으로 가기 전 정보를 가져가야 하기 때문에 forward 하기 전 선언한다.
  • setAttribute를 통해 memberList에 담는다.
  • setAttribute를 통해 CardInfo에 담는다.

 

  • if를 사용하여 MemberList가 null이 아닌 조건을 선언한다.
  • forEach문으로 list를 가져와서 member라는 변수를 준다
  • checkBox에서 pjt_member로 변수값을 준다.(차후에 getParameter로 받아올 때 이 변수를 사용한다.)value값으로 member의 total_no(전제 인원)을 가져와 name을 호출한다.

 

  • if문으로 CardInfo가 null이 아닌 조건을 선언한다.
  • foreach문을 사용하여 CardInfo라는 리스트를 CardInfo라는 변수로 선언하고(나중에 getParameter로 받을 시 해당 변수를 사용하여 받는다.) value값을 c_no로 받고 c_title(제목)을 출력한다.

 

  • 위에서 체크박스를 통해 담당자를 설정할 회원을 선택하고 생성하면 해당 인원이 담당자가 된다.
  • option을 선택하여 해당 위치에 업무를 생성할 수 있다.

 

2. update

수정하는 역할을 한다.

  • 생성한 포스트의 제목을 수정한다.

 

  • update set 문을 사용하여 p_no로 가져온 p_title을 수정한다.

 

  • PostDTO에 있는 객체를 가져오기 위해 파라미터로 선언하고 int 타입으로 p_no를 판단한다.

 

  • int re를 생성하고 Mapping 후 return한다.

 

  • Form태그로 이동하면 해당 Post에 해당되는 제목을 가져와야 하기 때문에 p_no를 postDTO에 담아서 return한다.
  • 해당 PostDTO 객체를 생성하여 Form태그에서 수정한 제목을 다시 PostDTO에 담기 위해 set을 통해 담는다.(getParameter한 변수는 Form태그의 name이다.)
  • Mapping한 dao 메소드를 호출한다.

 

  • detail에서 가져온 title을 PostDTO에 담고 Form.jsp로 이동한다.

 

  • set으로 담긴 PostDTO를 service객체로 호출하고 list로 이동한다.

 

  • p_no를 hidden으로 주어 숨기고 가져올 Post를 value에 선언한다.
  • p_title로 제목을 그대로 가져오고 수정 후 submit한다.
  • submit한 update는 controller에서 forward 된다.

 

  • 위의 결과처럼 수정된다.

오늘 실습 간 느낀점

오늘은 어제에 이어서 insert를 실습했다. 조금씩 조건들이 추가되면서 내가 해야할 일과 생각해야할 것들이 많아져서 많이 힘들었다.
아직 구현하지 못하는 상황의 코드만 제외하고 insert를 완성하였으나 나중에 어떤 기능이 추가될지 모르겠다.

 

그리고 오늘은 수정기능까지 완성하여 title을 불러와 title을 수정하는 기능까지 만들었다. 내일은 insert를 추가 보완하고 delete를 구현할 계획이다.
내일도 화이팅 !!