January 31, 2021
DAO는 Data Access Object의 약자로 레포지토리라는 패키지를 사용하여 실제로 DB에 접근하는 객체입니다. DB에 접근하여 데이터를 조회, 조작하는 기능을 전담하는 것입니다.
데이터베이스 액세스를 DAO 에서 맡아서 하게 되면 효율적으로 서버를 관리할 수 있습니다. 프로그램 내에서 발생하는 데이터 베이스 연산을 한번에 커넥트 시켜놓고 관리할 수 있으므로 커넥션 비용을 줄일 수 있기 때문입니다.
DTO란 Data Transfer Object의 약자로 레이어들 사이에서 주고받는 데이터 객체의 포멧을 만들어두는 것입니다.
DAO 에서 넘겨준 key-value형태로 되어있는 날데이터?를 getter을 통해 가져오고 이를 보기쉬운 형태로 변환해준 뒤 @Controller(웹요청,응답을 처리하는 프레젠테이션 레이어), @Service(내부에서 자바로직 수행하는 서비스레이어), @Repository(DAO같이 외부 IO를 처리하는 퍼시스턴스 레이어) 와 같은 타 레이어에 데이터를 보내주는 것입니다.
VO와 DTO는 보통 동의어로 사용되지만 엄밀히 따지면 다른 것들인데, VO는 특정한 비즈니스값을 갖는 객체 + Read only 라면 DTO는 layer간의 데이터교환을 위해 만드는 객체 + Read,Write가 가능하다는 점에서 차이점을 가집니다.
https://cnwlcjf.tistory.com/12 https://gmlwjd9405.github.io/2018/12/25/difference-dao-dto-entity.html https://postitforhooney.tistory.com/entry/Spring-MVC-%ED%8C%A8%ED%84%B4%EC%97%90%EC%84%9C%EC%9D%98-5%EA%B0%80%EC%A7%80-%EA%B3%84%EC%B8%B5%EC%97%90-%EB%8C%80%ED%95%9C-%EC%A0%95%EB%B3%B4-%ED%8D%BC%EC%98%B4