• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

24.02.06 10:22 작성 조회수 174

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가 잘 연결(이름이 맞는지)이 되있는지 봐보세요.?

건영님의 프로필

건영

질문자

2024.02.06

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

인텔리제이가 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 파일을 인식하여 제대로 동작하고 있습니다
감사합니다

영후이님의 프로필

영후이

2024.02.08

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

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

좋은 정보 감사합니다!
image