-
[MyBatis] Mapped Statements collection does not contain value프로그래밍 언어/에러노트 2022. 11. 16. 17:28
게시글 목록 조회하는 간단한 쿼리문 작성 후 조회하려고 하는데 목록이 뿌려지지 않고 에러가 뜨더라. Mapped Statements collection does not contain value ~~ service에서 값이 안 받아와졌다.
다른 블로그들 보면서 이런 에러가 뜨면 어떤 이윤지 찾아봤는데도 해결 못 하고 끙끙대다가 결국 해결!!! 근데 역시나 다른 곳에서 정리된 것 때문이었다.
📌 1. mapper id가 다른 경우
<select id=""> Mapper 파일에서 설정하는 쿼리 태그 아이디와 DAO에서 지정한 id가 다를 때 이 에러가 날 수 있다.
📌 2. Parameter와 bean 필드명이 틀린 경우
📌 3. mapper 파일에 정의된 네임스페이스와 mapper 파일에 직접 접근하는 java(DAO나 service)에서 호출하는 namespace가 다를 경우
📌 4. MyBatis config 파일에 mapper가 정의 되어 있지 않거나 스펠링이 틀린 경우
📌 5. mapper에 정의된 namewpace 명칭이 같은 application 내에 중복될 경우
내 경우는 applicationContext.xml파일에서 mapper 경로를 설정할 때
<!-- ## Mapper setup ## --> <bean id="mysqlSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="mysqlDataSource" /> <property name="configLocation" value="/WEB-INF/mybatis-mysql-config.xml" /> <property name="typeAliasesPackage" value="kr.happyjob.study" /> <!-- <property name="mapperLocations" value="classpath*:kr/happy/jobkorea/**/dao/mapper/*Mapper.xml" /> --> <property name="mapperLocations" value="classpath*:sql/*/*Mapper.xml" /> </bean>
<property name="mapperLocations" value="classpath*:sql/*/*Mapper.xml" /> 에서 경로를 Mapper.xml로 끝나야된다고 만들어 놨는데 원본 파일을 복사해서 Mapper2.xml로 만들어놔서 아예 mapper를 읽지 못 했던 것!!!!!!!
설정이 반이다... 설정 잘 확인하자 이로인해 배운 점도 많다.
반응형'프로그래밍 언어 > 에러노트' 카테고리의 다른 글
[Node.js] bash: npm: command not found 환경변수 설정 (0) 2023.02.20 [에러노트] "name"과 "value" 속성들을 포함한 "jsp:param" 표준 액션이 요구됩니다. (0) 2022.11.30 [Vue.js 에러] FullyQualifiedErrorId : UnauthorizedAccess (0) 2022.11.25 [JAVA] java.lang.String cannot be cast to java.lang.Integer (0) 2022.11.14 [오라클 에러] ORA-00911: invalid character 부적절한 문자 (0) 2022.08.28