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 |