Leeyebin의 블로그
습하고 더운날씨 본문
이번 달 말이나 다음 달 초에 다시 을지로로 갈 예정이라는 소식을 듣고 개발 일정이 일주일 앞당겨졌다.
서 대리님이 일정을 이미 넉넉하게 잡아놔서 충분하게 부지런히 하면 일정을 소화할 수 있을 것 같았다.
DB테이블이 만들어지기 전에 개발했던 터라 서비스 단에서 하드 코딩으로 화면에 보이게만 해놨었는데 실제로 DB에 붙이는 작업이 쉽지가 않았다.
실제 DB를 붙여보고 쿼리도 짰는데 일단 대법원프로젝트 때는 마이바티스여서 다이나믹한 쿼리가 가능해서 인자가 없으면 아예 처리가 안 되었었는데 일단 기존 소스들을 많이 봐왔지만 쿼리단에서 VO 검사를 해서 해당쿼리를 타지 않게 하는 게 아니라 그냥 다 타게 만들어져 있는 게 신기했다. (정확히 말하면 이해가 되지 않는다.)
보통
<!--mybatis-->
<if test='ID != null and ID == ""'>
AND TABLE1.ID = #{ID}
</if>
대충 이런 식으로 ID가 없으면 해당 조건을 아예 타지 않도록하는게 마이바티스였다면 여기에서는
그냥 일단 타게 하되 LIKE를 사용해서
~
~
WHERE TABLE1.ID LIKE :ID || '%'
이런 식으로 일단 타게 하되 %를 줘서 전체가 검색되도록 두었다는 것이다.(WHERE TABLE1.ID LIKE '' || '%' 이런식으로다가..)이 부분은 나중에 이쪽 계장님에게 물어볼 계획이다.(2016.06.15 계장님께 문의한 결과 개발 스타일에 따라 다르다고 하셨다. 그리고 요즘은 case ~ when, is null을 써서 해결하신다고..)
어쨌든 쿼리도 다만들고 여차여차해서 로컬서버를 돌리는데 자꾸 뻑이나서 금요일에 개고생좀 했다.
로그를 보면 쿼리가 한번 돌아야하는데 처음에는 검색 조건이라든지 INPUT되는 VO들은 잘 담겨서 들어가는데 그후에 갑자기 변수들이 비어있는 쿼리가 한 번 더 돌아서 뻑이 났다.
결국, 나중에는 계장님께 해당 이슈를 겪어봤는지 물어봤는데 그런 적은 없으시다고는 했지만 지나가는 소리로 DAO 에디터를 이용해서 작성하고 나서 따로 소스에 직접 수정을 했는지 내게 물었는데 그게 실마리였다.
여기 전용 DAO 에디터가 있어서 여기를 통해서 코드를 수정하고나서 저장하면 한번 VO라든지 요것조것 빌드가 되는데 내가 중간에 VO 이름 때문에 수정했던 것이 충돌이 일어났었던 것 같다.
다행히 이 삽질을 하고 다른 화면도 무사히 만들긴 했는데 '상세조회 화면'은 다 완성하지 못했다. 당장 이번 주에 맡았던 화면 3개는 조회성이라서 크게 문제 될 것으로 보이진 않는데 다음 주부터 등록이나 변경화면도 있어서 혹시 무슨 일이 생겨날까 걱정이 앞서긴 한다.
근데 처음에 마음먹었던 진짜 불과 일주일 전만 해도 화면 한두 개만 제대로 만들면 그다음에는 쉬울 텐데라고 걱정했던것이 벌써 화면 3개를 만들었고 아마 나는 결국 다음주에도 해낼 것이다.
경험이 쌓이고 있다는 게 느껴져서 뿌듯하다.
'난장판' 카테고리의 다른 글
무지하게 오랜만에 글을 쓴다. (0) | 2016.09.06 |
---|---|
또 월요일이 지나간다 (0) | 2016.06.21 |
흠 (0) | 2016.06.01 |
수지 적응기 (0) | 2016.05.12 |
오늘이 목요일이라니 (0) | 2016.05.06 |