Web Dev/JSP

JSP 12강 :: DAO, DTO

HJPlumtree 2022. 11. 27. 13:58

JSP에서 기억하 싶은 내용

 

 

DAO(Data Access Object)

데이터베이스 연결, SQL 구문 실행하는 자바 클래스

ex) getConnection(), selectAll(), selectOne() ... 등

 

ex) DTO 클래스 만들기

package com.member.db

public class MemberDTO {
  private int id = 0;
  private String pass = null;
  private String name = null;
  private String phone = null;
  private String address = null;
  public int getId(){
    return id;
  }
}

 

DAO 클래스 사용

select, insert, update 구문 실행시 레코드 값, 즉 DAO 객체가 필요하다

delete는 대상 레코드의 id 필드만 필요

 

DAO 사용 효과

DB와 연동하기 위한 코드를 DAO 클래스로 작성

코드 중복을 막아준다

 

 

DTO(Data Transfer Object)

데이터 주고 받을 때 사용하는 자바 클래스

인자나 리턴 값으로 사용

속성(필드)에 대한 읽기와 쓰기 메서드만 제공

 

DTO 객체 하나는 특정 테이블에서 한 개의 레코드 표현
데이터 저장할 테이블 구조 표현

 

DTO 효과

DB와 주고 받는 데이터는 DTO 클래스로 구현한다

코드 중복 줄이고, JSP 프로그램에 SQL 구문이 안보이도록

 

DB 연결하고 SQL 구문 실행하는 메소드로 구성

 

예시) getConnection() 메서드

package com.member.db;
import java.sql.*;
import java.util.*;

public class MemberDAO {
  private Connection getConnection() throws Exception{
    Class.forName("org.mariadb.jdbc.Driver");
    String url = "jdbc:mariadb://localhost:3306/my_db";
    String user = "user";
    String pw = "user1234";
    Connection con = DriverManager.getConnection(url, user, pw);
    return con;
  }
}