-
인터셉터를 이용한 로그 기록마이바티스 2017. 5. 29. 23:10
@Intercepts({@Signature(type=StatementHandler.class, method = "query", args = {Statement.class, ResultHandler.class})})
public class SelectIntercepter implements Interceptor{
static Logger logger = Logger.getLogger( SelectIntercepter.class.getName());
public Object intercept(Invocation invocation) throws Throwable {
StatementHandler handler = (StatementHandler)invocation.getTarget();
// 쿼리
String sql = handler.getBoundSql().getSql();
logger.info("sql:"+sql);
String param = handler.getParameterHandler().getParameterObject()!=null ?
handler.getParameterHandler().getParameterObject().toString() : "";
// DB에다 로그 insert
/////////////////
////////////////
logger.info("param:"+param);
return invocation.proceed();
}
/* (non-Javadoc)
* @see org.apache.ibatis.plugin.Interceptor#plugin(java.lang.Object)
*/
public Object plugin(Object target) {
return Plugin.wrap(target, this);
}
/* (non-Javadoc)
* @see org.apache.ibatis.plugin.Interceptor#setProperties(java.util.Properties)
*/
public void setProperties(Properties arg0) {
// TODO Auto-generated method stub
}
}
'마이바티스' 카테고리의 다른 글
insert 된 그 PK를 가져오기 (0) 2018.05.20 마아바티스에서 널 체크-자바클래스 이용 (0) 2017.05.28