인프런 커뮤니티 질문&답변

건영님의 프로필 이미지
건영

작성한 질문수

스프링 프레임워크는 내 손에 [스프1탄]

14.Mapper로딩하고 MyBatis와 연결하기

Controller의 BoardMapper 쪽에서 문제가 있습니다.

작성

·

276

0

Controller에서
@Autowired로
private BoardMapper boardMapper를 해주었는데
필드 주입이 되지 않습니다.root-context에서 <bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close"> <constructor-arg ref="mysqlHikariConfig" /> </bean> <mybatis-spring:scan base-package="com.spring.board.mapper" /> <bean class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> </bean>mybatis-spring:scan 으로 패키지에 제대로 설정해주었는데
"/boardList.do"로 이동하면
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.spring.board.mapper.BoardMapper.getLists
이러한 에러가 콘솔창에 나타납니다.  

답변 1

0

박매일님의 프로필 이미지
박매일
지식공유자

Invalid bound statement (not found) 에러로 봐서 Mapper에 있는 메서드와 sql mapper xm파일에 id가 잘 연결(이름이 맞는지)이 되있는지 봐보세요.?

건영님의 프로필 이미지
건영
질문자

해결했습니다 강사님 ㅎㅎ
인텔리제이로 진행하고 있었는데

인텔리제이가 src/main/java 패키지 안에 xml 파일을 인식하지 못해서 생긴 오류였습니다.
다른 분들도 볼 수 있으니
해결 방법 적어 놓고 가겠습니다.

pom.xml 에서

<project> 태그 안에
<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> <include>**/*.yml</include> </includes> </resource> </resources> </build>
이 부분을 추가해주니 패키지 안의 xml 파일을 인식하여 제대로 동작하고 있습니다
감사합니다

저도 똑같은 문제를 겪었는데 반갑네요 ㅋㅋ

인텔리제이는 xml파일을 main 아래있는 resources에서 찾더라구요...
저는 그래서 resources 아래에 kr.board.mapper 패키지를 만들고
그곳에다 xml파일만 옮겨서 해결했는데
건영씨 방법이 더 좋은거 같아요 ㅋㅋㅋ

좋은 정보 감사합니다!
image

건영님의 프로필 이미지
건영

작성한 질문수

질문하기