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;
    }
}
相关推荐
码农的小菜园7 分钟前
Java线程池学习笔记
java·笔记·学习
hongtianzai21 分钟前
Laravel8.x核心特性全解析
java·c语言·开发语言·golang·php
逸Y 仙X24 分钟前
文章十一:ElasticSearch Dynamic Template详解
java·大数据·数据库·elasticsearch·搜索引擎·全文检索
隔壁小邓26 分钟前
IDEA 中同时启动多个微服务
java·微服务·intellij-idea
:12126 分钟前
idea17创建tomcat项目(计网底层核心理解!)
java·ide·intellij-idea
Brookty30 分钟前
网络通信核心:四元组、socket与IO机制详解
java·网络通信·网络入门
短剑重铸之日35 分钟前
《ShardingSphere解读》12 解析引擎:SQL 解析流程应该包括哪些核心阶段?(下)
数据库·后端·sql·架构·shardingsphere·分库分表
佩奇大王40 分钟前
P159 摆动序列
java·开发语言·算法
计算机学姐42 分钟前
基于SpringBoot的网吧管理系统
java·spring boot·后端·spring·tomcat·intellij-idea·mybatis
Boop_wu44 分钟前
[Java EE 进阶] SpringBoot 配置文件全解析:properties 与 yml 的使用(1)
java·spring boot·spring·java-ee