DAO(Data Access Object)

YunGyu Choi·2023년 9월 7일
0

What is DAO?

데이터베이스에 대한 CRUD작업을 캡슐화 해준다.
이는 애플리케이션 로직과 데이터베이스 접근 로직을 분리시킨다.
각각의 관심사가 분리되면 코드의 유지보수가 쉬워진다.

인터페이스 기반 DAO

MyBatis에서 DAO를 인터페이스로 정의하고 구현할 수 있다.
인터페이스 기반으로 DAO를 구현하면 테스트시 mock 객체를 쉽게 사용할 수 있다.
이는 단위 테스트를 작성하고 실행하는데 큰 이점을 제공한다.

XML 매퍼 기반 DAO

MyBatis는 쿼리와 결과 매핑을 XML 파일에 작성하여 관리할 수 있는 XML 매퍼를 지원한다.
XML 매퍼는 SQL 쿼리와 그 결과인 객체와 매핑 정보를 별도의 XML 파일로 관리한다.
따라서 코드와 SQL을 분리하여 관리할 수 있다.

어노테이션 기반 DAO

MyBatis는 DAO의 메소드에 SQL쿼리를 작성하는 어노테이션 방식을 지원한다.
@Select, @Insert, @Update, @Delete 등의 어노테이션을 사용하여 메서드에 직접 SQL 쿼리를 작성할 수 있다.
이 방식은 SQL 쿼리와 자바 코드를 가까이 두어 코드의 가독성을 높일 수 있다.



[ref](https://gdngy.tistory.com/161)
profile
velog에는 이론을 주로 정리하고, 코드와 관련된 것은 Git-hub로 관리하고 있어요. 포트폴리오는 링크된 Yun Lab 홈페이지를 참고해주시면 감사하겠습니다!

0개의 댓글