카테고리 없음

Mybatis, Oracle Number타입 문제

now0204 2024. 8. 11. 21:57

 

오라클에서 테이블 데이터 타입을 NUMBER로 만들었을 때, SELECT하면, java.math에 BIGINTEGER타입이랑 맵핑한다.

 

이때 VO에는 INTEGER타입으로 명시했다면, 둘이 맵핑되지않는 문제가 발생한다.

 

이때 해결법으로 타입변환을 사용해보도록하자

  SELECT CAST(st.itemId AS INTEGER) as itemId ,st.itemName, CAST(st.itemPrice AS INTEGER) as itemPrice ,st.itemImg
       FROM( 
	  	SELECT ROWNUM rw, t.* 
	  	FROM tbl_item t
	  	WHERE itemId >0
	  	AND ROWNUM <= #{pageNum} * #{listAmount}
	  	)st
	   WHERE rw > (#{pageNum}-1) * #{listAmount}

 

물론 처음부터 특별한 경우가 아니라면, NUMBER로 테이블을 만들지 말자