본문 바로가기
Study/Spring

[Spring] Dao와 Mapper의 차이점

by 오늘만 사는 여자 2020. 5. 7.
728x90
반응형

[DAO와 Mapper인터페이스의 정의]

1. Dao란?

Data Access Object의 약어로 실질적으로 DB에 접근하여 데이터를 조회하거나 조작하는 기능을 전담하는 객체를 말한다.

Dao의 사용 이유는 효율적인 커넥션 관리와 보안성 때문이다. Dao는 저수준의 Logic과 고급 비즈니스 Logic을 분리하고 domain Logic으로부터 DB관련 메카니즘을 숨기기 위해 사용한다.

 

Mapper인터페이스란?

Mybatis 매핑XML에 기재된 SQL을 호출하기 위한 인터페이스이다. MyBatis 3.0부터 생겼다.

 

Mapper 인터페이스를 사용하지 않을 경우

- SqlSession을 등록해줘야한다.

- DAO인터페이스와 인터페이스를 구현한 DAO클래스를 생성해줘야 한다.

- Mapper인터페이스를 사용하지 않았을 때는 네임스페이스 + "."+ SQL ID로 지정해서 SQL을 호출해야 한다.

- 문자열로 작성하기 때문에 버그가 생길 수 있다.

- IDE에서 제공하는 code assist를 사용할 수 없다.

 

Mapper 인터페이스를 사용하는 방법

- Mapper인터페이스는 개발자가 직접 작성한다.

- Mapper 네임스페이스는 패키지명을 포함한 인터페이스 명으로 작성한다.

- SQL id는 인터페이스에 정의된 메소드명과 동일하게 작성한다.

 

Reference : 

https://twofootdog.github.io/Spring-DAO%EC%99%80-Mapper%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90/

728x90
반응형

댓글