Backend/spring
[Spring] @Mapper 너는 누구니?
_소피아
2021. 8. 8. 21:20
xml 기반의 mapper를 사용할 때
<mapper namespace="com.kr.mapper.Test">
<select id="getTest" parameterType="java.util.HashMap" resultType="java.util.HashMap">
/* query */
</select>
</mapper>
이런 식으로 mapper 태그 안에 쿼리를 넣어 사용한다
But, 방식으로 DB의 데이터를 객체로 매핑시켜 데이터를 접근하는 ORM 방식을 사용해보면서
@Mapper를 사용하게 되었다
https://codingnojam.tistory.com/27
여기 블로그에 아주 잘 설명을 해주셨고 많은 도움이 되어 참고를 해본다
https://mybatis.org/mybatis-3/ko/apidocs/index.html
@Mapper의 API 문서를 찾아보니
Maker interface for MyBatis mappers 라고 한다 => "MyBatis 매퍼용 메이커 인터페이스"
그럼 MyBatis 문서에서 확인해 본다
https://mybatis.org/spring/ko/mappers.html#register
@MapperScan을 사용하면 하나씩 매퍼를 등록할 필요가 없다고 한다
자동 스캔 기능으로
@MapperScan(
basePackages = {"com.test.api.mappers"}
)
이렇게 사용해 주면 mappers 디렉토리 안에 있는 인터페이스에는 자동 컴포넌트 지정이 된다
이 외의 특정 인터페이스를 매퍼로 등록하고 싶을 때 @Mapper를 사용한다
