반응형
org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'param' in 'class java.lang.String' |
분명히 파라미터를 잘 넘겨주었고 마이바티스에서도 잘 받았는데도 불구하고... 황당한 에러가 뜨는 경우가 있다.
마이바티스에서 parameterType을 String 으로 하고,
if문을 통해 null체크를 했을 경우 나타나는 현상이다.
동적 쿼리에서 if문은 파라미터 타입 클래스의 getter를
호출하는 방식인데,
String 내부에는 getter 개념이 정의되어있지 않기 때문이다.
▶ 에러가 발생하는 마이바티스 쿼리
파라미터타입이 String 이면서 넘어온 파라미터명 testId를 동적if문에 받을경우 에러가 발생하게 된다.
▶ 해결방법
필수값을 단일로 보내는 것이라면 동적 if문을 제거해주자.
map으로 받아서 mybatis에 넘겨주면 이또한 가능하다 !
parameter를 testId로 보냈어도 마이바티스에서 단일값일 경우 임의로 value 로 받아주면 처리가 가능하다.
반응형
'스프링 웹 개발' 카테고리의 다른 글
[Double Submit 방지] ajax, submit 더블 써밋 방지_ 자바스크립트 (1) | 2021.06.15 |
---|---|
[java 이미지 리사이즈] 자바를 활용한 이미지 용량 줄이기 (0) | 2021.06.08 |
[smtp] 자바에서 네이버 이메일 전송하기 (2) | 2021.05.19 |
java(spring) poi 라이브러리 적용하기 ( 자바 엑셀 다운 예제 POI) (5) | 2021.05.11 |
리눅스용) ffmpeg 자바 + 스프링 개발 ( 동영상 변환 ) (0) | 2021.05.11 |
댓글