TIL) JSP - DAO, DTO

oatraspberry·2023년 10월 18일
post-thumbnail

🌼DAO(Data Access Object)

  • 데이터베이스에 연결하고 SQL 구문을 실행하는 기능의 클래스
  • 코드의 중복을 최소화한다.
  • getConnection(), selectAll(), selectOne(), updateOne(), deleteOne(), insertOne() 등

1. getConnection() 메서드

  • MariaDB에 연결하고 연결 정보를 리턴하는 메서드
  • 예외 처리 코드가 필요하다.
    • Class.forName(), DriverManager.getConnection()
    • 예외를 호출한 곳으로 전파하는 방식으로 예외를 처리한다.

2. selectAll() 메서드

  • member 테이블의 모든 레코드를 리턴하는 메서드
  • 여러 개의 memberDTO 객체를 다뤄야 한다.
  • 리턴 유형은 ArrayList<MemberDTO>다.

3. selectOne() 메서드

  • member 테이블에서 1개의 레코드를 리턴하는 메서드
  • 매개 변수로 id값(조회할 레코드의 id값)이 주어진다.
  • 리턴 유형은 MemberDTO다.

4. updateOne() 메서드

  • member 테이블에서 1개의 레코드를 수정하는 메서드
  • 매개 변수로 수정될 memberDTO 객체가 주어진다.
    • 주어진 객체의 id 속성과 같은 id 값을 가지는 레코드를 수정한다.

5. deleteOne() 메서드

  • member 테이블에서 1개의 레코드를 삭제하는 메서드

  • 매개 변수로 id 값이 주어진다

    	- 매개 변수와 같은 id 값을 가지는 레코드를 삭제한다.

6. insertOne() 메서드

  • member 테이블에서 1개의 레코드를 삽입하는 메서드
  • 매개 변수로 삽입될 MemberDTO 객체가 주어진다.

🌼DTO(Data Transfer Object)

  • 주고받을 데이터를 저장할 때 사용하는 자바 클래스

    • DAO 메서드 호출에서 인자나 리턴 값으로 사용됨
    • 속성(필드)에 대한 읽기와 쓰기 메서드만을 제공한다.
  • DTO객체는 특정 테이블에서 한 개의 레코드를 표현한다.

    • 데이터를 저장할 테이블 구조를 표현한다.
  • 코드 중복을 줄이고 JSP 프로그램에 SQL 구문이 나타나지 않는다.

DTO 클래스의 사용

  • select, insert, update 구문을 실행할 때 레코드 값(DTO 객체)이 필요하다.
  • delete 구문의 경우 삭제할 레코드의 id 필드 값만 필요하다.
profile
개발자가 될테야

0개의 댓글