커뮤니티에서 Mybatis 관련 비슷한 오류가 많아 보이길레, 여러분들의 시간을 아껴드리고자 제가 해결한 방법을 공유해드립니다.
Mapper bean not found
저의 경우 Spring Boot 버전과 MyBatis 버전 불일치 문제여서 Mapper 빈 생성이 정상 작동하지 않았었습니다. (Mapper Spring 연동 모듈이 정상 작동하지 않은 문제??)
// build.gradle plugins { id 'org.springframework.boot' version '2.6.5' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' }
스프링 부트 3.0 이상 버전만 썼기 때문에 습관상 당연히 3.0 버전과 호환이 되는 MyBatis 버전 3.0.1 을 설정했지만
위와 같이 영한님의 수업 자료로 진행하셨다면 스프링 2.6.5 로 설정되어 있기 때문에// build.gradle dependencies { //MyBatis 추가 implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0' }
이렇게 바꾸시면 되실 겁니다!
Invalid boud statement (not found)
XML 파일에 오타가 있거나 XML 파일 경로 설정이 이상할 경우 발생하는 오류라 합니다
ItemMapper.xml 파일 경로를 잘 따라한 것 같엤는데 경로가 복잡하기도 했고 그래서 pdf 수업 자료 2번째 방법인
resources/mapper/ItemMapper.xml
로 xml 파일을 옮겼고 (기존 껀 부모 디렉토리까지 삭제)// application.properties #MyBatis mybatis.type-aliases-package=hello.itemservice.domain mybatis.configuration.map-underscore-to-camel-case=true logging.level.hello.itemservice.repository.mybatis=trace mybatis.mapper-locations=classpath:mapper/**/*.xml
설정 파일에 마지막 줄 (mapper 경로 설정) 을 추가해서 해결했습니다.
저와 동일한 문제가 아니신 분들도 계시겠지만 같은 수업 자료에서 출발했기 때문에 비슷하게 해결되지 않을까 싶어서 글 적었습니다! (질문글이 아니지만)
김동현님 좋은 글 공유 감사합니다 :)
답글
동현님 덕분에 해결했네요 감사합니다.
답글
인프런
2024.02.11감사합니다!