DB : 오라클

프레임워크 : 전자정부 프레임워크 (java+spring+mybatis 등등)


보통은  select문을 써서 원하는 값을 가져오곤하는데 다른사람이 작성한 프로시져로 값을 받아와야하는 상황이 생겼다. 우선 sqlquery맵부터 작성해보자


sqlmap.xml


inParam01, inParam02 두 값을 던져서 outParam01, outParam02, outParam03라는 값을 받고 싶어하는 단순한 프로시져이다.

그럼 Controller를 작성해보자.  (Service와 DAO는 생략함)


testController.java


여기까지 하고 실행했을 때 NullpointException이 난다.

왜일까?.....왜일까....왜일까...
분명 result로 받았는데 왜 resultVo는 null일까...

그것은 바로 return이 resultVo로 오는게 아니라 parameter로 넘겼던 vo에 담기는 것이기 때문이었다. (왜 그런지는 다음에...)


자 이제 제대로된 소스를 작성해보자


sqlmap.xml

testController.java


sqlmap.xml에 있던 resultType을 삭제했다. 필요없으니까.

testController에서는 resultVo로 받는 것이 아니라 그냥 vo객체를 출력한다. testService.getValues(vo);를 호출함으로해서 vo에 값이 이미 담겼으니까.



+ Recent posts