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;
    }
}
相关推荐
色空大师1 分钟前
maven引入其他项目依赖爆红
java·maven
yangminlei19 分钟前
深入理解Sentinel:分布式系统的流量守卫者
java
JavaEdge.22 分钟前
java.io.IOException: Previous writer likely failed to write hdfs报错解决方案
java·开发语言·hdfs
w***765525 分钟前
存储技术全景:从基础原理到未来趋势
spring boot·后端·mybatis
J_liaty38 分钟前
基于ip2region.xdb数据库从IP获取到属地解析全攻略
java·网络·后端
沛沛老爹44 分钟前
Web转AI架构篇:Agent Skills vs MCP-混合架构设计模式实战指南
java·前端·人工智能·架构·llm·rag
独自破碎E1 小时前
Java的CMS垃圾回收流程
java·开发语言
oioihoii1 小时前
C++线程编程模型演进:从Pthread到jthread的技术革命
java·开发语言·c++
醇氧1 小时前
SqlLogInterceptor mybatis配置打印SQL
java·sql·mybatis
Elcker1 小时前
JAVA-Web 项目研发中如何保持团队研发风格的统一
java·前端·javascript