자바 소스에서 SQL 문장의 주석을 // 에서 /* 로 변경

2013년 4월 12일 at 5:13 pm

자바 소스에 String 으로 들어가있는 SQL 문장에 상당히 많은 사람들이 \n 을 붙인다.

\n 을 붙이면 테스트계에서야 로그 파일 보면 내가 원하는 쿼리만 눈에 보기 좋게 나오니 좋겠지만,

로그 파일의 아무데나 엔터가 들어가있어 로그 정규화가 안 돼 로그 분석이 힘들고,

운영계에서 특정 고객에 대한 처리 쿼리를 추적하기 위해

tail -f logfile | grep 고객번호 … 와 같이 쿼리를 할 때.. 달랑 쿼리의 SELECT 행만 나온다.

그렇다고 무턱대고 \n 을 없애면 중간에 있는 — 이하가 모두 주석이 되어 에러가 난다.

아래와 같은 정규식을 이용하자.

— 1 차 주석 포함 부분만

Find : “\\n(.*)–(.*)”

Replace with : ” $1 /* $2 */ “

— 2 차 주석 포함 부분 제외하고

Find : “\\n

Replace with : ” 

이 경우, /* */ 로 주석처리된 쿼리들에 문제가 있을 수 있는데 이클립스에서 에러 표시나니까 그때 그때 처리하자!