DAO, DTO, VO

|

DAO

- Data Access Object

- DB를 사용해 데이터를 조회하거나 조직하는 기능을 전담하도록 만든 오브젝트

- 실제로 DB에 접근하는 객체

- 서비스 모델과 실제 데이터베이스를 연결하는 역할

- 데이터베이스에 접근 하기 위한 로직 & 비즈니스 로직을 분리하기 위해 사용 ( persistance 계층(db에 data를 crud하는 계층)을 숨기기 위해)

// DAO 예제
public class TestDao {
	public void add(DTOBean dto) throws ClassNotFoundException {
    	...
        
        Connection c = DriverManager.getConnection('jdbc:mysql://~~, );
        
        PreparedStatement ps = c.prepareStatement('~~');
        
        ps.setString(1, dto.getName());
        
        ...
        
        ps.executeUpdate();
        
        ps.close();
        c.close();
    }
}

DTO

- Data Transfer Object

- 계층간 데이터 교환이 이루어 질수 있도록 하는 객체

- 특별한 로직을 가지지 않는 순수한 데이터 객체 (getter & setter 만 가진 클래스)

- 값이 변할 수 있음

// DTO 예제
public class DTOBean {
	private String name;
    
    public String getName(){
    	return name;
    }
    
    public void setName(String name){
    	this.name = name;
    }
}

VO

- Value Object

- 읽기만 가능한 read-only 속성을 가진 객체로서 데이터 그 자체에 의미를 두고 있음

- 값이 변할수 없음(읽기 전용)

 

'Java' 카테고리의 다른 글

HttpSession  (0) 2023.04.04
Server 1대에 Multi version 의 JDK 사용  (0) 2022.12.06
좌석 예약 시스템  (0) 2019.08.01
디버깅하는 법  (0) 2019.07.31
주차관리 시스템 ver.2  (0) 2019.07.24
And