Mybatis를 사용하면서 mapper.xml에 메소드 파라미터 변수명을 1개 사용할때는 문제없이 잘 되는데,
2개이상 사용하게되면 Bindingexception이 매번 발생하는 문제가 생겼다.
Mapper.xml 파일
다음과 같은 쿼리 구문에서 파라미터로 #{empno}와 #{searchEmpno} 2개를 받아와 출력하는데,
잘못된 예 :
파라미터가 1개일때처럼 Dao의 메소드또한 똑같이 만들어줬는데도 매핑이 되지않는 문제가 자꾸 발생한다.
인터넷을 뒤지다 결국 찾아낸 해답은
파라미터가 2개이상일때는 Mybatis에서 문자열이 아니라, Map형식으로 받는다는것이었다.
따라서, 메소드 파라미터를
바른 예:
다음처럼 파라미터로 Map형식을 받아와, 컨트롤러 단에서 기존에 String 변수 2개를 넣어주던것을
Map객체를 생성하여 key-value 형식으로 넣어주니 정상적으로 매핑을 하였다!
결론
Mybatis에서 파라미터를 2개이상 받아올때는 Map형식으로 변수들을 넣어서 전달하자!
'Category > Project' 카테고리의 다른 글
[팀프로젝트] 14일차 - SSE를 사용한 실시간 알림 기능 구현 (1) | 2024.02.01 |
---|---|
[팀프로젝트] 12일차 - 전자결재 시스템 만들기 (0) | 2024.01.30 |
[팀프로젝트] 10일차 - 메시지 기능 구현 (2) | 2024.01.28 |
[Spring] 스프링 시큐리티 사용하기 (1) | 2024.01.25 |
[팀프로젝트] JSP Include 동적변수 문제 --해결! (1) | 2024.01.24 |