mybatis sql 拦截器

SqlLogInterceptor

复制代码
@Component
@Intercepts({
        @Signature(type = StatementHandler.class, method = "query", args = {Statement.class, ResultHandler.class}),
        @Signature(type = StatementHandler.class, method = "update", args = {Statement.class})
})
@Slf4j
public class SqlLogInterceptor implements Interceptor {

    @Override
    public Object intercept(Invocation invocation) throws Throwable {
        long startTime = System.currentTimeMillis();
        Object retVal = invocation.proceed();
        try {
            long endTime = System.currentTimeMillis();
            long time = endTime - startTime;
            String traceId = TraceIdUtil.getTraceId();
            if (StringUtils.isNotEmpty(traceId)) {
                log.info("time" + time);
            }
        }catch (Exception e){
            log.error("error", e);
        }
        return retVal;
    }
}
相关推荐
Dlrb121112 小时前
C语言-字符串指针与函数指针
java·c语言·前端
萝卜白菜。13 小时前
通过cmdline-jmxclient.jar采集TongWeb8.0监控值
java·jar
最后一支迷迭香13 小时前
苹果的MacOS系统适合做Java开发吗
java·开发语言·macos
m0_7390300013 小时前
[特殊字符] Java 高频面试题汇总
java·开发语言·面试
白宇横流学长13 小时前
基于Spring Boot的校园考勤管理系统的设计与实现
java·spring boot·后端
SamDeepThinking13 小时前
拼单模块设计实战
java·后端·架构
Mike117.13 小时前
GBase 8a 宽表查询里的压缩和行存列取舍
java·开发语言·数据库
我有医保我先冲13 小时前
【无标题】
java·大数据·人工智能
XiYang-DING13 小时前
【Java EE】UDP(User Datagram Protocol)协议
java·udp·java-ee