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;
    }
}
相关推荐
武子康几秒前
Java-02 深入浅出MyBatis 3 快速入门:环境配置、项目创建与 CRUD 操作
java·后端
Don.TIk3 分钟前
ChapterOne-搭建项目骨架
java·spring·spring cloud·mybatis
Don.TIk5 分钟前
ChaperTwo-整合 SaToken 实现 JWT 登录功能
java·开发语言
qq_2518364575 分钟前
基于java Web汽车销售管理系统设计与实现
java·前端·汽车
南极企鹅9 分钟前
事务&@Transactional注解
java·数据库·spring·oracle·mybatis
yaoxin52112321 分钟前
406. Java 文件操作基础 - 字符与二进制流
java·开发语言·python
happymaker062628 分钟前
SpringBoot学习日记——DAY02(SpringBoot整合Swagger3)
java·spring boot·学习
阿坤带你走近大数据39 分钟前
Java中的JVM、类加载记住、多线程、性能优化的概念
java·jvm·性能优化
鱼鳞_1 小时前
苍穹外卖-Day04
java
未若君雅裁1 小时前
Spring Boot 自动配置原理与常用注解
java·spring boot·后端