Repository가 더 큰 개념이다.
mapper은 00.xml 과 같이 sql문을 정의해놓때 사용한다.
SQL문을 정의하고 그 결과를 정의해놓은 모델에 매핑시키는 mybatis 방식에서 사용하는것.
sql 문을 메소드로 매핑 시켜주는 것이다.
정의해놓은 sql과 개발할때 쓰는 메소드를 연결하고 결과 값을 정의해놓은 타입으로 매핑시켜주는 것이다.
Repsitory는 DAO 라고 한다.
DAO(Data Access Object) : DB에 접근해서 데이터를 조회 및 조작하는 객체.
우선 가장 큰 차이는
@Component 가 붙어있다 . 즉 해당 객체는 자동으로 빈 등록이 된다.
MVC에서 repository, mapper를 적용해보면 아래와 같이 구현하고자 하는 구조에 따라서 유동적으로 선택해서 사용하면 된다. Mapper만 썼으니 잘못됐어! Mapper 클래스 없이 Repository만 썼으니 잘못됐어! 이런건 없다.
- Controller -> Service -> Repository -> mapper.xml
- Controller -> Service -> Repository -> Mapper -> mapper.xml
- Controller -> Service -> Mapper -> mapper.xml
참고 :
Mapper와 Repository의 차이
Java Mapper와 Repository의 차이 파미페럿 2022. 3. 29. 18:17 DB에 연결해서 데이터를 가져오는 것에 아무 생각 없이 @Repository 어노테이션을 붙여서 개발을 하고 있었다. 그러던 중 지인이 @Mapper와 @Repository
webcache.googleusercontent.com
'TIL' 카테고리의 다른 글
gitlab CICD (0) | 2022.09.16 |
---|---|
220915 sequence ID설정, allocationSize 에 대해서 (0) | 2022.09.15 |
220901 JDBC (0) | 2022.09.01 |
220901 FK의 중요성 (0) | 2022.09.01 |
Join vs Fetch Join (0) | 2022.08.30 |