DTO / DAO

Jiwon Youn·2020년 12월 30일
0

DTO(Data Transfer Object)

  • VO(Value Object)와 비슷한 개념 (VO는 readonly 속성을 가짐)
  • Controller, View 등 각 계층간 데이터 교환을 위한 객체(Java Beans)
  • 일반적인 DTO는 getter, setter 메소드만 사용
  • 추가적으로 toString(), equals() 등 오브젝트 클래스 메소드를 작성 가능

DTO 클래스 예

public class DTOBean {
	private String name;
    private int value;
    private String data;
    
    public String getName() {
    	return name;
    }
    
    public void setName(String name) {
    	this.name = name;
    }
    
    public int getValue() {
    	return value;
    }
    
    public void setValue(int value) {
    	this.value = value;
    }
    
    public String getData() {
	    return data;
    }
    
    public void setData(String data) {
    	this.data = data;
    }
}
    

DAO(Data Access Object)

  • DataBase의 데이터에 access하는 트랜잭션 객체
  • DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트
  • MyBatis로 DAO를 작성 가능

DAO 클래스 예

public class TestDAO {
 public void add(DTOBean dto) throws ClassNotFoundException, SQLException {
    Class.forName("com.mysql.jdbc.Driver");
    Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "root");
    
    PreparedStatement preparedStatement = connection.prepareStatement("insert into users(id, name, password) value(?,?,?)");
    
    preparedStatement.setString(1, dto.getName());
    preparedStatement.setInt(2, dto.getValue());
    preparedStatement.setString(3, dto.getData());
    preparedStatement.executeUpdate();
    
    preparedStatement.close();
    connection.close();
 }
}

0개의 댓글