문제상황
sql에서로 아래처럼 작성하던 중 NumberFormatException 오류가 났다.
<if test = "checkYN = 'Y'">
// SQL 코드
</if>
원인 💡
- mybatis는 작은 따옴표 내부를 속성이 아닌 어떠한 객체로 인식하게 한다. 하지만 작은 따옴표로 감쌌다고 하였더라도 문자열이라고 명시해 주는 것이 아니다.
- 그리고 단일 문자의 경우 char 타입으로 인식이 된다. 그래서 ‘Y’의 Y 값은 문자열이 아닌 문자의 코드값을 저장하고 있는 char 타입으로 인식이 되어진다. 때문에 checkYN으로 넘어온 String 값과 char 타입의 값을 비교하기 때문에 에러가 난 것이다.
해결방법 💡