다이나믹쿼리에서 if문을 사용하는데 NumberformatException이 발생했다.
<if test="saleSta == 'S'">
AND SALE_STA = 'S'
</if>
아무리 봐도 에러 날 곳이 없는데..
찾아보니 MyBatis에서 한글자 비교인 경우엔 'S'를 Char 형으로 인식, NumberFormat으로 비교를 시도하여 Exception이 발생한다고 한다.
MyBatis 문제는 아니고 OGNL(Object Graph Navigation Language) 의 문제라고 한다.
-- OGNL : 자바가 아닌 곳에서 자바를 쓰고 싶을 때 쓰는 언어 ex) xml에서 java 사용
1> 더블쿼터(")와 싱글쿼터(') 위치 변경
<if test='saleSta == "S"'>
AND SALE_STA = 'S'
</if>
2> 더블쿼터(")를 HTML 코드로 변경
<if test="saleSta == "S"">
AND SALE_STA = 'S'
</if>
3> 함수 사용
<if test="saleSta == 'S'.toString()">
AND SALE_STA = 'S'
</if>
개인적으로 1번을 추천한다 :)