log4j log 질문입니다.
- 작성자 :
- 이*철
- 작성일 :
- 2019-01-18 09:52:41
- 조회수 :
- 1,404
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
안녕하세요.
DAO에서 쿼리xml을 실행하면 log4j 로 console에 바인딩된 쿼리 로그가 찍히는데요.
이때 그 바인딩 된 쿼리를 DAO에서 캐치할 수 있는 방법이 있을까요??
혹은 List<ParameterMapping> paramMapping = getSqlSession().getConfiguration().getMappedStatement("getLogin").getBoundSql(loginVO).getParameterMappings();
String sql = getSqlSession().getConfiguration().getMappedStatement("getLogin").getBoundSql(loginVO).getSql();
위와 같이 사용할때 쿼리내에 ? 대신에 실제 값으로 바인딩 시켜줄수 있는 방법이 있을까요??
감사합니다.
DAO에서 쿼리xml을 실행하면 log4j 로 console에 바인딩된 쿼리 로그가 찍히는데요.
이때 그 바인딩 된 쿼리를 DAO에서 캐치할 수 있는 방법이 있을까요??
혹은 List<ParameterMapping> paramMapping = getSqlSession().getConfiguration().getMappedStatement("getLogin").getBoundSql(loginVO).getParameterMappings();
String sql = getSqlSession().getConfiguration().getMappedStatement("getLogin").getBoundSql(loginVO).getSql();
위와 같이 사용할때 쿼리내에 ? 대신에 실제 값으로 바인딩 시켜줄수 있는 방법이 있을까요??
감사합니다.
A
안녕하세요.
표준프레임워크센터 입니다.
myBatis에서 DB 처리가 되는것을
왜 굳이 다시 추출해야 하는지 하는 의문이 듭니다.
통상적으로
prepared statement를 사용하면
SQL injection을 회피하면서 구현이 가능은 하겠지만
기재하신 기능을 구현하려는 의도가 납득이 되지 않습니다.
DB쪽으로 로그를 보내기위한 용도라면
JDBCAppender라는것도 있으니 참고하시면 좋을듯 합니다.
감사합니다.
표준프레임워크센터 입니다.
myBatis에서 DB 처리가 되는것을
왜 굳이 다시 추출해야 하는지 하는 의문이 듭니다.
통상적으로
prepared statement를 사용하면
SQL injection을 회피하면서 구현이 가능은 하겠지만
기재하신 기능을 구현하려는 의도가 납득이 되지 않습니다.
DB쪽으로 로그를 보내기위한 용도라면
JDBCAppender라는것도 있으니 참고하시면 좋을듯 합니다.
감사합니다.