출처 : 자카르타 프로젝트.com
iBATIS사용하면서 불편하시분들 가져다 쓰세요 ;
iBatis에서 SQL로깅은 한줄로 표현되기 때문에 디버깅이 불편합니다
이를 해결하고자 몇가지 알아봤지만 소스를 직접 수정하는수 밖에 없더군요
I. 소스받기
- http://www.ibatis.com
II. 소스 수정 리스트
- com.ibatis.common.jdbc.logging.ConnectionLogProxy.java
- com.ibatis.common.jdbc.logging.PreparedStatementLogProxy.java
- com.ibatis.common.jdbc.logging.StatementLogProxy.java
- com.ibatis.sqlmap.engine.mapping.sql.SqlText.java
- com.ibatis.sqlmap.engine.mapping.sql.stat.StaticSql.java
1. com.ibatis.common.jdbc.logging.ConnectionLogProxy.java
주석처리 후 removeBreakingWhitespace 함수를 제거합니다
removeBreakingWhitespace 함수가 '\n'를 ' '로 replace 시킵니다
2. com.ibatis.common.jdbc.logging.PreparedStatementLogProxy.java
마찬가지로 removeBreakingWhitespace 함수를 제거합니다
3. com.ibatis.common.jdbc.logging.StatementLogProxy.java
역시나 removeBreakingWhitespace 함수를 제거합니다
4. com.ibatis.sqlmap.engine.mapping.sql.SqlText.java
replace 하는 부분을 주석처리해 놓고 this.text = text; 를 추가합니다
5. com.ibatis.sqlmap.engine.mapping.sql.stat.StaticSql.java
마찬가지로 replace 하는 부분을 주석처리 하고 this.sqlStatement = sqlStatement; 를 추가시킵니다
III. 수동으로 컴파일 후 jar 압축하기
1. 다운받은 ibatis-2.3.0.677 를 압축을 풉니다
2. C:\ibatis-2.3.0.677\src\ibatis-src.zip의 압축을 풉니다
3. C:\ibatis-2.3.0.677\src\ 이하 위의 리스트에 있는 소스를 수정합니다
4. C:\ibatis-2.3.0.677\src\의 수정된 5개의 자바 소스를 C:\ibatis-2.3.0.677\lib\로 카피 합니다
5. C:\ibatis-2.3.0.677\lib\ibatis-2.3.0.677.jar 압축을 풉니다
6. C:\ibatis-2.3.0.677\lib\의 현재 상태입니다
7. cmd 창을 열어 C:\ibatis-2.3.0.677\ 이동 후 컴파일 합니다
javac -classpath "." -d ./ *.java
8. jar 압축 합니다
jar cvf ibatis-2.3.0.677.jar ./
ibatis.jar를 생성후 적용해 보면 한줄로 쭉 나오던 SQL이 아래와 같이 깔끕하게 나옵니다
재생성한 jar파일 첨부합니다
com.ibatis.common.jdbc.logging.* 패키지에 JDBC관련 로깅 java들이 있습니다
ResultSet 로깅등 여러가지 부분들을 수정 할 수 있습니다
[출처] iBatis 에서 SQL 로깅시 이뿌게 보이기|작성자 로져래빗
'Carpe Programming > ibatis' 카테고리의 다른 글
[ibatis] 기본 설정 (0) | 2012.01.27 |
---|---|
[ibatis] 동적 쿼리 생성 (0) | 2012.01.27 |
[ibatis] iterate - 구분자로 검색 (0) | 2011.12.16 |
[ibatis] ddl, alter, create (0) | 2011.12.02 |
[ibatis] insert 후 key 값 리턴 받기 (0) | 2011.09.05 |