less than 1 minute read

DAO 정의

Data Access Object의 약자로 간단히 Database의 data에 접근을 위한 객체이다.

Database에 접근을 하기위한 로직과 비즈니스 로직을 분리하기 위해서 사용한다.

DAO

웹서버는 DB 와 연결하기위해 커넥션 객체를 생성한다.

이와 관련된것이 커넥션 풀인데, ConnectionPool 이란 connection 객체를 미리 만들어 놓고 그것을 가져다 쓰는것이다.

또한 사용이 끝나면 반환해 놓는다.

보통 서비스에서 사용자가 수많은 커넥션을 일으키기 때문에 커넥션 풀은 오버헤드를 최소화 하기위해 DB 에 접속하는 객체를 전용으로 하나만(싱글톤)만들고

모든 객체에서 그 객체를 호출해서 사용하기 위해 등장한것이 DAO 객체이다.

사용자는 자신이 필요한 인터페이스를 DAO 에 요청하고 DAO 는 해당 인터페이스 바탕으로 구현한 객체를 사용자에게 반환한다.

DB에 대한 접근을 DAO가 담당하도록 하여 데이터베이스 엑세스를 DAO에서만 하게 되면 다수의 원격호출을 통한 오버헤드를 VO나 DTO를 통해 줄일 수 있고

다수의 DB 호출문제를 해결할 수 있다. 또한 단순히 읽기만 하는 연산이므로 트랜잭션 간의 오버헤드를 감소할 수 있다.

Categories:

Updated: