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;
    }
}
相关推荐
Sam_Deep_Thinking几秒前
适合中小型企业的出口入口网关微服务
java·微服务·架构
YaBingSec4 分钟前
玄机靶场—Apache-druid(CVE-2021-25646) WP
java·开发语言·笔记·安全·php·apache
叶小鸡8 分钟前
Java 篇-项目实战-天机学堂(从0到1)-day7
java·开发语言
何中应9 分钟前
记录一次Jenkins构建任务的坑
java·servlet·jenkins
雪碧聊技术13 分钟前
上午题_计算机系统
java·开发语言
月落归舟23 分钟前
JAVA基础之反射
java·反射
极客先躯28 分钟前
高级java每日一道面试题-2025年11月15日-行业专题[LangChain4j]-如何实现热点事件的实时分析和推送?
java·数据库·langchain·突发性与不可预测性·信息碎片化与多源重复·情绪驱动与谣言风险·推送的精准性与合规性
小张小张爱学习28 分钟前
Mybatis高频面试题
java·spring·mybatis
空空潍30 分钟前
MySQL索引不生效?一文理解CBO成本模型
数据库·sql·mysql
遇见你的雩风30 分钟前
Java --- 网络原理(三)
java·开发语言·网络