본문 바로가기

[MyBatis] 오라클 java.math.BigDecimal Exception MyBatis와 오라클을 연동하여 사용하다보면 조회결과를 HashMap으로 받는 경우가 있는데, 이때 특정 컬럼의 필드가 Int, Number 와 같은 숫자형 일때 해당 데이터를 get 하여 임의 변수에 할당하는 과정에서 java.math.BigDecimal Exception 이 발생하는 경우가 종종 있다. 신기하게도 오라클에서만 발생되는 오류같아 보이는데, 이는 숫자형 데이터가 int나 Integer가 아닌 BigDecimal로 지정되어 있어 그런듯 하다. 처리하기 가장 좋은 방법은 정석대로 BigDecimal 변수를 할당하여 casting 해주면 되나, 굳이 BigDecimal 타입을 사용할 필요가 없다면 아래와 같이 String, int 형으로도 사용할 수 있다. HashMap rsHmap = me.. 더보기
[MyBatis] java.lang.NumberFormatException: For input string MyBatis 쿼리를 작성하던중 IF구문이 예상과는 다르게 오류를 발생시키고 있었다. 오류는 NumberFormatException 관련 오류였는데 무언가 이상하다. 아래와 같이 분명히 문자열끼리의 비교인데 NumberFormatException 이 발생하는것이 아닌가? SELECT NAME , AGE FROM MEMBER WHERE AGE = 20 AND MEMBER_TP = 'ALL' 결론부터 얘기하자면 MyBatis에서 IF문을 사용할때 비교하는 문자열이 1글자 일때 해당 문자열을 char 형으로 인식해서 발생하는 오류이다. 즉 2글자 부터는 String으로 인식하여 오류가 나지 않는다. ONGL의 특성에 관련된 문제라고 하는데 여기까지는 잘 모르겠으니 넘어가고, 그렇다면 해결책에 대해 알아보자. .. 더보기
[Javascript] undefined, null 체크 함수 자바스크립트로 가장 흔하게 하는 일 중 하나가 문자열을 체크하는 것이다. input type의 value 값을 읽어 문자열을 체크하거나 유효성 검사를 할때 많이 사용되는데, 이때 종종 만나는 오류중 하나가 undefined 와 null 이다. 특히 이 두녀석은 json과 같은 object 타입에서 많이 만날 수 있는데, if(문자열 == "") 와 같은 방식으로는 처리가 되지 않는 경우가 있다. 이럴때 undefined는 typeof를 이용하여 체크하거나 하면 되는데, 매번 이렇게 사용하는것 보다는 아래와 같이 간단한 함수를 작성하여 사용하는것이 편하다. 더보기