SpringBoot 에 MyBatis 설정시
SpringBoot 버전에 따라 되는 경우가 있고 안되는 경우가 있는데
No MyBatis mapper was found in '[com.neutti]' package. Please check your configuration.
이런 메시지가 나오면서 Mapper Scan에 실패한다.
단 기본 애노테이션인 @Mapper 인 경우 정상 작동한다.
SpringBoot 버전이 상위버전일 경우가 안되기 때문에 해결을 하고 지나가야된다.
이유는 애노테이션 인터페이스 선언 문제인듯 한데.
/** * database.base 매핑 */ public @interface BaseMapper { }
에서
/** * database.base 매핑 */ @Documented @Inherited @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.TYPE, ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER }) public @interface BaseMapper { }
이런식으로 선언해주면 잘 작동한다.
도대체 이유를 알수 없어... 혹시나 해서 @Mapper 선언부분을 확인해서 동일하게 만들어주니 무사통과...
아무래도 마이바티스가 스프링과는 한몸이 아니기때문에 설정시 이런저런 오류가 나오는데
경고 메시지가 친절하진 않다.. 혹시 설정이 의도한대로 되지 않는다면 버전 체크도 하고 넘어가야 할듯
https://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/
잘 보았습니다. 덕분에 문제 하나 해결하였습니다.
답글삭제