🔗 참고자료

  • mybatis 공식문서<매퍼주입> => 링크
  • 블로그 <연어 좋아하는 개발자> => 링크
  • 블로그 <Eseak> => 링크
  • 블로그 <하진쓰의 사이버기술블로그> => 링크
  • 블로그 <당근당근이> => 링크

 

✍ 공부하게 된 계기

마이바티스를 세팅하면서 매퍼주입을 하지 않아서 어플리케이션의 시작이 중단되었습니다.

블로그를 보고 쉽게 해결은 했지만, MapperScan이 무엇인지 조금 더 살펴보기로 했습니다.

 

 

 

 

 

 

❗ 에러

이미지 클릭 시 확대

  • Mapper로 지정한 파일들을 찾지 못하고 그냥 어플리케이션이 종료된다.
  • Mapper Interface를 스프링 빈으로 주입받아야 DB에 접근이 가능한데 처리를 안해놔서 생긴 문제였다.

 

 

 

 

 

🔍 해결한 방법

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@MapperScan(value = {"com.example.bbakmemo.mapper"})
@SpringBootApplication
public class BbakmemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(BbakmemoApplication.class, args);
    }

}
  • value에 적혀있는 곳에 @Mapper 어노테이션이 붙은 인터페이스만 Mapper로 로드가 된다.
  • @MapperScan 어노테이션은 mapper.xml 파일들이 바라볼 기본 패키지 위치를 지정해 줍니다.
    => 모든 마이바티스 애플리케이션은 SqlSessionFactory 인스턴스를 사용합니다.
    이후 빈을 생성하여 sessionFactory에  Mapper의 위치를 지정해 줍니다.
반응형

+ Recent posts