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;
    }
}
相关推荐
Gofarlic_oms113 分钟前
Cadence许可证全生命周期数据治理方案
java·大数据·运维·开发语言·人工智能·安全·自动化
曹轲恒13 分钟前
HashMap基础
java
期待のcode16 分钟前
Java String类
java·开发语言
资生算法程序员_畅想家_剑魔16 分钟前
Java常见技术分享-17-多线程安全-并发编程的核心问题的解决方案
java·开发语言
p&f°18 分钟前
垃圾回收两种算法
java·jvm·算法
myq9918 分钟前
第三章:Java异常处理
java·开发语言·笔记
靠沿23 分钟前
Java数据结构初阶——堆与PriorityQueue
java·开发语言·数据结构
禾叙_27 分钟前
HashMap
java·数据结构·哈希算法
白日做梦Q28 分钟前
【MySQL】9.吃透关键SQL语法:从正则表达式、窗口函数、条件函数到结果集合并的实战拆解
数据库·sql·mysql·正则表达式
SadSunset40 分钟前
(44)Spring6集成MyBatis3.5(了解即可,大部分用springboot)
java·spring boot·后端