Mybatis Mapper 인터페이스란?


Mapper 인터페이스란?

여러 Mapper 인터페이스 작성시 설정한다.


Mapper 인터페이스란?

- 매핑파일에 기재된 SQL을 호출하기 위한 인터페이스이다.

- Mybatis 3.0부터 생겼다.

- 매핑파일에 있는 SQL을 인터페이스로 호출한다.


Mapper 사용하지않았을시?

- session.selectOne("userNS.selectUserById", id); 형식 이였다.

- 네임스페이스+"."+SQL ID 로 지정해야한다.

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

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


Mapper 사용했을때

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

- 패키지 이름+"."+인터페이스이름+"."+메서드이름이 네임스페이스+"."+SQL의 ID를 설정해야 한다.

- 네임스페이스 속성에는 패키지를 포함한 Mapper 인터페이스 이름 형식이다.

- SQL ID 에는 매핑하는 메서드 이름을 지정하는 것.


Mapper 인터페이스 작성

반드시 인터페이스로 선언해주어야한다.

네임스페이스 명은 패키지포함 인터페이스이름으로 작성. 

ex)<mapper namespace="myspring.user.dao.UserMapper">

메서드명은 SQLID와 동일하게작성.


사용하는법

-bean 추가

-xml네임스페이스 설정


-DAO에 autowired



-Mapper인터페이스 메소드명은 네임스페이스 ID랑 맞출것.

인터페이스

XML


여러개의 Mapper 설정 방법

- MapperScannerConfigurer사용한다.

- 위에 org.mybatis.spring.mapper.MapperFactoryBean 을 이용시 Mapper등록시 갯수가 많아지면일일이 정의해야하는 단점이 있다.

- DI컨테이너에 등록된다.

- MapperScannerConfigurer 이용하면 지정한 패키지 아래 모든 인터페이스가 Mapper 인터페이스로 간주된다.

dao등 인터페이스도 등록되어 에러가 생길 수 있다.


다른 인터페이스는 등록안되게 하는법

빈에 등록하기


annotation파일생성


기존 Mapper에 어노테이션 등록



'개발 소발 > 개발 Spring' 카테고리의 다른 글

SpringMVC란?  (0) 2018.01.11
MVC패턴이란?  (0) 2018.01.11
Mybatis 셋팅이란?  (0) 2017.12.21
MyBatis란?  (0) 2017.11.27
AOP어플리케이션 작성 (annotation)이란?  (0) 2017.11.27

+ Recent posts