2023. 5. 24. 12:00ㆍProgramming/Error 처리
일반적으로 mapper를 사용할 때,
List<testVO> list = testDAO(tvo); 형태를 선호한다. 따로 별도의 설정을 추가할 필요 없이, DB에서 수행한 쿼리 실행 결과를 리스트로 반환하기 때문이다.
하지만 이번에는 ESB를 이용하여 통신 결과를 받아오고, 이를 다시 현 프로젝트의 DB를 바탕으로 새로운 데이터로 가공한 후 리스트의 형태로 만들어 return 해야 했기 때문에 조인을 사용하여 직접적으로 리스트의 형태로 반환할수 없었다.
[에러 발생 예시 코드]
List<testVO> makeList = null;
List<testVO> list = testDAO(tvo);
for(testVO orginList : list ){
testVO setVO = new testVO ();
if(orginList .getAge > 20){
setVO.setFalg("성인");
}
else{
setVO.setFalg("미성년자");
}
makeList.add(setVO);
}
무난하게 해결될 것으로 보였던 코드에 에러가 발생했다.
에러 문구는 다음과 같다.
null pointer access the variable session can only be null at this location
[해결 방법]
해결 방법은 의외로 간단했다.
List makeList = null로 초기화 하였기 때문에 tvo를 add할 수 없었다.
따라서 List를
List<testVO> makeList = new ArrayList<testVO>();
의 형태로 ArrayList로 만들어주면 에러 해결이 가능하다.
+) 너무 오랜만에 VO를 add해줘서 만든 가장 기본적인 실수였던 거 같다. 기본에 충실하도록 하자!