MySQL + iBatis, BIGINT에 NULL 쓰기 실험

PUBLISHED 2012. 1. 3. 19:21
POSTED IN 공장
iBatis, query문
위와 같은 형태에서 A, B는 BIGINT형이고 NOT NULL이 false일때 A_VALUE는 정상적인 Long형의 값이 오고 B_VALUE에는 NULL이 전달되는 경우이다.

(1) #B_VALUE:BIGINT:-999999# --> 안된다.
(2) #B_VALUE:BIGINT# --> 안된다.
(3) #B_VALUE:NUMERIC:-999999# --> 안된다.
(4) #B_VALUE:NUMERIC# --> 안된다.
(5) #B_VALUE:INTEGER:-999999# --> 안된다.
(6) #B_VALUE:INTEGER# --> 안된다.
(7) #B_VALUE:NUMBER:-999999# --> 안된다.
(8) #B_VALUE:NUMBER# --> 안된다.
(9) #B_VALUE:BIGINT:NO_ENTRY# --> 안된다.

원인은 모두 B_VALUE의 값이 없으니까 null로 처리되고, 그러면서 ibatis가 B_VALUE의 타입을 몰라서 발생하는 것으로 생각된다. 위의 9가지 실험에서 에러 메시지는 모두 같았다. (참고로 데이타타입이 문자일때는 NO_ENTRY로 했을때 문제없음이다.)


dynamic query를 쓰는 수 밖에.......

이렇게 쓰면 된다.

'공장' 카테고리의 다른 글

ibatis, prepend 삭제하기  (0) 2012.01.07
웹 어플리케이션을 여러 포트로 접속하기  (0) 2011.12.23
tomcat, log4j 사용하기  (0) 2011.12.23