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;
    }
}
相关推荐
9号达人9 分钟前
Jackson序列化让验签失败?破解JSON转义陷阱
java·后端·面试
Evan芙12 分钟前
使用inotify + rsync和sersync实现文件的同步,并且总结两种方式的优缺点
java·服务器·网络
爱笑的眼睛1120 分钟前
PyTorch自动微分:超越基础,深入动态计算图与工程实践
java·人工智能·python·ai
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ27 分钟前
java实现登录:多点登录互踢,30分钟无操作超时
java·前端
Three K36 分钟前
Redisson限流器特点
java·开发语言
Halo_tjn37 分钟前
Java 多线程机制
java·开发语言·windows·计算机
一颗宁檬不酸38 分钟前
Oracle PL/SQL 过程与游标实战分享:马拉松赛事管理系统
数据库·sql·oracle
Jeff-Nolan41 分钟前
C++运算符重载
java·开发语言·c++
她说..41 分钟前
Spring AOP场景3——接口防抖(附带源码)
java·后端·spring·java-ee·springboot
计算机毕设指导644 分钟前
基于微信小程序的积分制零食自选平台【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven