Java/Spring

DAO와 DTO를 분리하는 이유

Z_Z 2021. 8. 25. 16:41
반응형

* DAO (DataBase Access Object)

: DataBase Data에 접근하기 위한 객체

: DAO는 DB를 사용해 데이터를 불러오거나 조작하기 위한 전담 객체

: 매번 DB에 접근하여 데이터를 불러오거나 조작하기위해 커넥션 객체를 생성하는것이 아닌 전담객체를 두고 필요할때마다 호출하여 사용한 후 반납하는 것

: 웹서버는 DB와 연결하기 위해 매번 커넥션 객체를 생성하는데, 이를 해결하기 위해 Connection Pool 을

사용한다.

* ConnectionPool

: 매번 DB에 접근하기 위해 커넥션객체를 생성하는게 아닌 connection 객체를 미리 만들어 pool에 저장한 후

필요할때마다 connection 객체를 호출하여 사용한 후 pool에 반납하는형식

* DTO(Data Transfer Object)

: 데이터 저장 그릇

: 데이터를 교환하기 위한 객체이다.

- DAO 와 DTO를 분리하는 이유

: 서버와 웹 브라우저간 DAO와 DTO를 분리하는 이유는 DB 컬럼명과 웹브라우저에서 보이는 필드명이 같으면 SQL Injection 공격에 취약하므로 DB컬럼명과 웹에서 보여지는 필드명을 다르게 한다.

반응형