6월 28일 월요일 - 리팩토링1 - DTO, DAO ㅇ

@_@·2021년 6월 27일
0

JDBC

목록 보기
1/4
post-custom-banner

<목차>
ㅇ MemberDAO 클래스 만들기
ㅇ Main 클래스 만들기
ㅇ MemberDTO 클래스 만들기

+) 나중에 다시 공부했을 때 오류가 있다고 느껴지는 부분들 취소선으로 수정




ㅇ 이클립스 팁

  • 클래스 클릭하고 f2 누르면 이름 바꿀 수 있어
  • alt + shift + s : 객체클래스(?)의 생성자, 게터세터 메소드 만들 때



ㅇ 새로운 디자인 패턴

ㅇ DAO : Data Access Object (데이터 액세스 오브젝트)

  • 데이터에 접근하는 객체
  • 디비에 접근하기 위해 만들어진 역할

ㅇ DTO : Data Transfer Object (데이터 트렌스퍼 오브젝트)

  • 데이터를 변경하는 객체 => 계층 간에 데이터를 이동,전송(transfer)하는 객체
  • 계속해서 값이 변하는 변수들을 만들어 둔

ㅇ MVC : Model View Controller

  • 모델 : DTO와 같은 역할을 한다고 생각하면 돼
    데이터를 몰아 넣고 계속해서 바뀌는 값을 가지고 있는 부분
  • 뷰 : 실질적인 이용자가 보는 공간
  • 컨트롤러 : 작동이 될 수 있도록 해주는 역할이지만, 이용자에게 보이지는 않아

ㅇ DAO, DTO, MVC 이렇게 3가지 이용해 볼 예정




ㅇ 어제 만들었던 JDBC_1을 Insert로 JDBC_2를 Select로 이름 바꾸기
데이터를 넣거나 데이터를 가지고 오는 클래스들이었어
얘들이 DAO이자 컨트롤러의 역할을 하게 될 거야


ㅇ MemberDAO

  • Insert의 try부터 finall 끝까지 잘라내서 => MemberDAO의 인서트 메소드로
    • 데이터 넣는 역할을 메소드로 만들어 둔 거야
  • Select의 try부터 finall 끝까지 잘라내서 => MemberDAO의 셀렉트 메소드로
  • Select위에 선언해뒀던 애들도 field로 메소드 위에 붙여넣자



ㅇ Main 클래스

  • V(뷰)의 역할을 할 친구
  • MemberDAO 객체를 생성하면 메소드 사용 가능



ㅇ MemberDTO

  • 해당하는 테이블에 대한 컬럼을 받아주는 공간이 있어야 해
    • 한 컬럼 (네임, 나이, 연락처, 주소) - 이거에 대해 값을 받아주고 꺼내주는 공간이 하나 있어야 해
  • 그 공간을 생성해주기 위해 MemberDTO 클래스 생성
  • 생성자
    • alt + shift + s => 제너레이트 컨스트럭쳐 유징 필드
    • select all
    • 슈퍼는 지우거나 주석처리 - 부모클래스 에서 가져온다?????
  • 게터세터 메소드
    • alt + shift + s => 제너레이트 게터스 앤 세터스
    • select all
    • 이러면 총 8개의 게터 세터 만들어져 있을거야
    • 겟메소드를 통해 데이터를 가져올 수 있고, 셋메소드를 통해 데이터를 덮어 쓸 수 있어
profile
STEP BY STEP
post-custom-banner

0개의 댓글