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;
    }
}
相关推荐
PuppyCoding1 分钟前
EasyExcel 导出排除基类字段,不给基类加@ExcelIgnore 的方式。
java·开发语言
洲星河ZXH8 分钟前
Java,泛型
java·开发语言·windows
海南java第二人11 分钟前
SpringBoot循环依赖全解:从根源到解决方案的深度剖析
java·spring
CopyProfessor12 分钟前
Java Agent 入门项目模板(含代码 + 配置 + 说明)
java·开发语言
duansamve14 分钟前
VSCode中如何搭建JAVA+MAVEN开发环境?
java·vscode·maven
Elias不吃糖17 分钟前
Java Collection 体系与使用场景整理
java·学习笔记·map·collection
一颗青果18 分钟前
c++的异常机制
java·jvm·c++
小豪GO!20 分钟前
操作系统-八股
java
爱吃山竹的大肚肚21 分钟前
达梦(DM)数据库中设置表空间
java·数据库·sql·mysql·spring·spring cloud·oracle
周某人姓周25 分钟前
sqli-labs注入靶场搭建与sql语句
sql·安全·网络安全