Choi의 고유결계

[Spring][MyBatis] @Mapper, @MapperScan 맵퍼 설정 방식 본문

Spring/MyBatis

[Spring][MyBatis] @Mapper, @MapperScan 맵퍼 설정 방식

믿을수없는맛 2021. 8. 19. 16:05
반응형

@Mapper

매퍼 등록을 위한 인터페이스에 선언하여 사용한다.

@Mapper
public interface BoardMapper {

    public String getTime();

    @Select("SELECT * FROM Board")
    public String listBoard();
}

@MapperScan

매퍼를 하나씩 등록하는게 아닌 페키지 경로를 지정하여 이하 위치에있는 인터페이스들은 전부 맵퍼로 사용할수있다.

단일 페키지 지정 방법

@MapperScan("com.test")
public class MapperConfig {

다중 페키지 지정 방법들

@MapperScan(value = {"com.test","com.board"})
public class MapperConfig {
@MapperScan("com.test, com.board")
public class MapperConfig {

annotationClass 속성를 사용하여 특정 인터페이스만 사용하기

맵퍼스켄 설정

@MapperScan(value="com.test, com.board", annotationClass=java.good.MyMapper.class)
public class MapperConfig {

어노테이션 생성

package java.good;

public @interface MyMapper {

}

어노테이션 선언

import java.good.MyMapper;

@MyMapper
public class BoardMapper {

이렇게 작성해주면 java.good.MyMapper 어노테이션을 사용하는 인터페이스만 맵퍼로 사용할수있다.

반응형
Comments