[Error/Spring] org.apache.ibatis.binding.bingdingException: parameter ' ' not found

2023. 8. 28. 23:46Backend/Spring

 

에러:

org.apache.ibatis.binding.bingdingException: parameter ' ' not found

 

원인

MyBatis를 이용한 SQL 쿼리문의 Mapper는 '하나의 파라미터'를 읽음

 

해결

데이터가 어떤 것인지 밝혀줘야 함

 

그러나

1. arg 변수 이용 (Mapper 내 xml CDATA 에 파라미터 순서대로 #{arg1} 을 넣음)

2. @Mapper 인 DAO에 @Param넣기 (예: @Param("boardNo") int boardNo)

 

의 방법에도 불구하고 에러가 발생하였다

그래서 결국

3. Map을 이용하기로 했다!!

Controller에서부터, 아래와 같은 예시처럼 map을 이용하니 깔끔하게 오류가 해결되었다! 

public ModelAndView boardWrite(ModelAndView modelAndView, @RequestParam Map<String,Object> map

 

참고

https://m.blog.naver.com/hj_kim97/222739563456