오류 상황 : mybatis 도입 후 테스트 프로젝트에서는 문제 없이 작동했던 부분이 원본 프로젝트 소스와 merge 하고 나니 오류 발생. 1, 2, 3, 4 쿼리를 순차적으로 타고 결과를 도출해야 하는데 1번 쿼리 실행 후 catch문 로그도 안 찍고 갑자기 finally로 빠져버림.

트러블슈팅 : ① 오류 로그라도 뭔가 확인이 가능해야 버그를 잡아내는데 아무런 로그가 안찍히니 답답했다. 그래서 할 수 없이 디버깅 모드로 실행 후 오류나기 바로 전 메소드에 toggle 걸어주고 한 step씩 넘기면서 모든 변수 값 다 확인.
② log4j 관련 변수였나? 정확한 기억은 안나지만 특정 변수에 java.lang.NoSuchMethodError: org.apache.log4j.Logger.isTraceEnabled()Z 오류 내용이 들어감
③ 지난 번 테스트 프로젝트에서 보고 해결했으나 블로그에 안 적어놔서 다시 구글링
④ log4j 1.2.12 버전 이후로 해당 메소드가 들어가 있다는 내용 확인
⑤ log4j.jar 파일 교체(기존: 1.2.8 버전)

하지만 아직도 왜 catch문을 안 탔는지 이해가 잘 안 간다. 추후 좀 더 확인해볼 필요가 있음.

Posted by 知彼知己百戰不殆
,

Table A (group by 한 값들이 모두 들어있는 테이블)
select '1' from dual union all
select '2' from dual union all
select '3' from dual union all
select '4' from dual union all

Table B (실제 값 가져오는 쿼리)

이런 식으로 group by 했을 때 무조건 나와서 통계 표와 맞춰야 하는 값들 강제 작성 후 left join 

Posted by 知彼知己百戰不殆
,

오류 상황 : 쿼리 실행 시 String 값 하나만 넘기면 되는데 굳이 vo를 생성해서 넘기기도 귀찮아서 String 파라미터를 넘기는데 계속 로그에 parameters : null이 찍힘

원인 : Dao쪽을 살펴보니 selectList(statement , object )가 아니라 selectList(statement)를 호출 중

해결 : selectList(statement , object)로 Dao 메소드 변경

Posted by 知彼知己百戰不殆
,