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;
    }
}
相关推荐
hhb_61810 分钟前
SQL高性能查询优化与复杂场景实战指南
服务器·数据库·sql
我是无敌小恐龙10 分钟前
Java SE 零基础入门Day06 方法重载+Debug调试+String字符串全套API详解(超全干货)
java·开发语言·人工智能·python·transformer·无人机·量子计算
xiaoye370812 分钟前
java接口文档工具 swagger2和swagger3对比
java·服务器·前端
三维频道13 分钟前
工业级三维扫描实测:汽车灯具复杂结构件的全尺寸 3D 测量方案分析
java·人工智能·python·数码相机·3d·汽车·汽车轻量化制造
tongyiixiaohuang14 分钟前
基于轻易云的数据集成,实现企业系统间灵活对接
java·前端·数据库
码农飞哥19 分钟前
从Java后端到AI应用开发,我这两年做了什么
java·开发语言·人工智能
森林猿24 分钟前
IDEA-控制台乱码
java·ide·intellij-idea
A-Jie-Y25 分钟前
JAVA设计模式-工厂方法模式
java·设计模式
千云31 分钟前
问题排查报告:一次因元空间溢出导致的CPU飙升与接口超时
java·后端
Full Stack Developme32 分钟前
MyBatis-Plus 注解教程
java·spring·mybatis