본문 바로가기
Error

[Mybatis] NumberFormatException: For input string "Y"

by 지구 2021. 6. 21.

error may exist in file [/Users/ha/.../MyMapper.xml]
### The error may involve kr.co....MyMapper.insertUserInfo
### The error occurred while executing an update
### Cause: java.lang.NumberFormatException: For input string: "Y"

 

Mybatis 를 처음 써보는 것도 아닌데 NFE 라니..? 하면서 확인해보니까 아래처럼(=홀따옴표 비교) 사용하면

Mybatis 는 char 문자열로 판단하여 string 문자열과의 타입체크를 하기 때문에 NFE 가 발생한다고 한다.

-- error syntax (')
INSERT..
<if test="userInfo.saveTerms == 'Y'">
  #{userInfo.saveTerms}
</if>

-- success syntax (")
INSERT..
<if test='userInfo.saveTerms == "Y"'>
  #{userInfo.saveTerms}
</if>

 

홀따옴표(')와 쌍따옴표(") 이 가져오는 혼란은 이제 사라져야 하는데...

프론트에선 Template literals 가 나왔고, 백엔드에서는 JPA 가 있으니 적용하자 🙇‍♀️

반응형

댓글