- 监控sql执行较长时间语句,打印并收集。TimeStatInterceptor 类完成
- 对每一条sql语句执行后输出其sql和参数,也可以根据条件只输出特定sql集合的sql。便于用户调试。DebugInterceptor完成
- 对sql预计解析,汇总sql执行情况(未完成,需要集成第三方sql分析工具)
你也可以自行扩展Interceptor类,来完成特定需求。 如下,在执行数据库操作前会执行before,通过ctx可以获取执行的上下文参数,数据库成功执行后,会执行after方法
InterceptorContext 如下,包含了sqlId,实际得sql,和实际得参数, 也包括执行结果result。对于查询,执行结果是查询返回的结果集条数,对于更新,返回的是成功条数,如果是批量更新,则是一个数组。可以参考源码DebugInterceptor
private String sqlId;
private List<SQLParameter> paras;
private Object result ;
}