ABOUT ME

지식의 공유가 세상을 발전 시킨다.

Today
Yesterday
Total
  • 인터셉터를 이용한 로그 기록
    마이바티스 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
Designed by Tistory.