DAO는 말 그대로 DB에 접근할때 사용하는 객체.
DB에 접속하여 데이터를 조회/수정을 하는 기능을 전담하도록 만든 객체를 말한다.
앞에 DB에서 관리하는 대상(보통 테이블 명)을 붙여 ㅇㅇDao라고 하는듯 하다.
User클래스가 있으면 UserDao를 만들고,
Review가 있으면 ReviewDao 이런식이다.
예를들어 앱에 회원가입 기능을 넣는다고 하자,
그럼 필요한 클래스들을 생각해보자.
일단 User가 필요하다
public class User{
String id;
String password;
String name;
String address;
// 여기에 getter, setter까지 필요하다.
}
그리고 그 유저의 정보를 담을 DB 테이블도 필요하다
필드명 | 타입 | 설정 |
id | varchar(10) | Primary Key |
password | varchar(10) | Not Null |
name | varchar(10) | Not Null |
address | varchar(10) | Not Null |
이렇게 만들었는데, 이 둘을 이어주려면 어떻게 해야할까?
그 기능을 하는게 바로 DAO이다.
UserDao의 대략적 개요를 만들어보자 (개념만을 이해하기 위한 코드이니 활용하진 말자^^)
public class UserDao{
private ConnectionMaker connectionMaker = new ConnectionMaker();
public UserDao(ConnectionMaker connectionMaker){
this.connectionMaker = connectionMaker;
}
public void add(User user){
Connection c = connectionMaker.makeConnection();
...
}
public User get(String id){
Connection c = connectionMaker.makeConnection();
...
}
}
이런식으로 DB와의 연결, 조작을 도와주는 기능을 하는게 DAO이다.
'Korean > Spring Study' 카테고리의 다른 글
객체지향 원칙 : 단일 책임 원칙 (Single responsibility principle. SRP.) (0) | 2022.01.28 |
---|---|
토비의 스프링 1장 | 스프링 개발하려면 토비의 스프링을 꼭 사야할까? (0) | 2022.01.22 |
디자인 패턴 정리 (템플릿 메소드 패턴, 팩토리 메소드 패턴) (0) | 2022.01.13 |
댓글