프로젝트를 하던 중,
java.lang.NumberFormatException: For input string
이와 같은 에러가 발생 했다.
원인을 찾아보니 숫자가 아닌 타입을 숫자로 변환할 때 생기는 에러라고 한다.
🧨에러 원인 1
문자를 숫자로 Integer.parseInt 을 이용하여 변경할 때
🧨에러 원인 2
int 의 최대값을 벗어난 수를 Integer.parseInt 를 이용해 변경할 때
❗ 이럴 경우는 Int 가 아니라 Long 이나 Double 을 이용하면 된다.
나는 xml 에서 String 타입인 변수를 숫자로 비교하려고 했기때문에 났던 에러였다.
<if test="name != null and name != 0">
AND name = #{name}
</if>
name 은 String 타입인데, 0인지 아닌지 비교하려고 함
따라서
<if test="name != null and name != ''">
AND name = #{name}
</if>
로 바꿔주니 문제가 해결이 됐다.