program

[iBatis] NUMBER(INT) 타입 컬럼 처리 시 cast 오류 발생

littlecarbb 2017. 2. 3. 14:16


오라클 NUMBER 형 컬럼의 데이터를 HashMap 타입으로 받아 java에서 사용하려고 할때 오류 발생

java.math.BigDecimal cannot be cast to java.lang.String  



MySQL 의 INT형 컬럼 데이터를 HashMap 타입으로 받아 java에서 사용하려고 할때오류 발생


java.lang.Integer cannot be cast to java.lang.String 




iBatis xml 부분

 <SELECT id="selectQue" resultClass="java.util.HashMap" parameterClass="java.util.HashMap"> Query statement </SELECT>


HashMap 으로 결과를 받는 부분

String seq = (String) map.get("SEQ"));




NUMBER(INT) 타입을 곧바로 String으로 캐스트 변환하려고 할때 발생

해결:  캐스트 변환이 아닌, String 클래스의 valueOf (Object) 메소드를 이용해 처리

String seq = String.valueOf(map.get("SEQ"));