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;
    }
}
相关推荐
送秋三十五2 分钟前
一次大文件处理性能优化实录————Java 优化过程
java·开发语言·性能优化
龙山云仓4 分钟前
MES系统超融合架构
大数据·数据库·人工智能·sql·机器学习·架构·全文检索
雨中飘荡的记忆4 分钟前
千万级数据秒级对账!银行日终批处理对账系统从理论到实战
java
jbtianci10 分钟前
Spring Boot管理用户数据
java·spring boot·后端
Sylvia-girl13 分钟前
线程池~~
java·开发语言
魔力军17 分钟前
Rust学习Day3: 3个小demo实现
java·学习·rust
时艰.20 分钟前
java性能调优 — 高并发缓存一致性
java·开发语言·缓存
落花流水 丶21 分钟前
Java 多线程完全指南
java
那我掉的头发算什么25 分钟前
【Mybatis】Mybatis-plus使用介绍
服务器·数据库·后端·spring·mybatis
jxy999830 分钟前
mac mini 安装java JDK 17
java·开发语言·macos