본문 바로가기
개발이야기/Java

[Java] 마이바티스 if문java.lang.NumberFormatException: For input string 에러

by S코델리아2 2024. 7. 10.
728x90
반응형
 

처음 보는 에러 메시지라 살짝 당황했지만

개발자 아닌 사람이 봐도 저 'N' 때문에

뭔 문제가 생겼구나~ 싶을 터,,

 

MyBatis if test 구문에 한 자리 문자를 입력한 경우

<if test=" map.admin_yn != 'Y' "> </if>

작은 따옴표 안에 문자가 한 자리일 경우 숫자로 인식하게 된다.

문자와 숫자(로 인식한 문자)를 비교하려다 이런 에러가 난 것!!!

아무튼 이걸 해결하기 위해서는

값이 숫자가 아니라는 것을 명확하게 해줘야 한다.

 

 

eq or neq + toString() 사용

<if test=" map.admin_yn neq 'Y'.toString() "> </if>

이렇게 eq / neq '문자'. toString()을 사용해줬더니 잘 된다!

더블쿼테이션으로 변경하는 등의

다른 해결책들도 있지만

나는 이것만 통하길래 요걸로 해결 완!

728x90
반응형