728x90

작년에이어 올해에도 이 시기에는 시스템 오픈을 앞두고 정신없이 개발 진행중!

 

Spring Framework에서 iBatis에서 제공하는 라이브러리들을 이용하여

XML에 정의되어 있는 쿼리문을 실행하는 도중에 당황스러운 일을 경험했다.

다음과 같이 XXXDAO.java 파일에 iBatis에서 제공하는

insert(queryId, parameterObject) 함수를 사용하여

insert문을 수행하였고, DBMS는 Oracle을 사용하기 때문에

기본적으로 insert된 row의 수가 return 될 것이라고 생각했다.

int result = 0;
result = (Integer)insert("kipo.po.is.dao.insertDpst.002", paramVO);
if(result != 0){
     return true;
}else{
     return false;
}

 

하지만 수행결과 NullPointerException을 당하게 됐다.

당황하며 iBatis 라이브러리를 조사해보니 insert(queryId, parameterObject) 함수는 수행 후

새로 생성된 row의 PK를 Object로 return한다고 명시되어 있다.

 

간단한 해결 방법은, insert(queryId, parameterObject) 함수 대신

update(queryId, parameterObject) 함수

사용하면 쿼리 수행 성공 시 1, 실패 시 0을 반환 받을 수 있다.



728x90

'프로그래밍 > java' 카테고리의 다른 글

오픈소스 링크  (0) 2015.06.26
java get 방식 한글 전송 시  (0) 2015.05.26
java jdbc db instance 설정  (0) 2015.05.06
오라클 페이징  (0) 2014.07.23
eclipse에서 javadoc utf-8로 생성하기  (0) 2013.09.17

+ Recent posts