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;
    }
}
相关推荐
躲在云朵里`7 分钟前
Jeecgboot框架-权限控制
java·开发语言
Ai runner8 分钟前
Show call stack in perfetto from json input
java·前端·json
I_LPL13 分钟前
day36 代码随想录算法训练营 动态规划专题4
java·算法·leetcode·动态规划·hot100
Mr YiRan13 分钟前
C++二义性,多态,纯虚函数和模版函数
java·jvm·c++
升讯威在线客服系统24 分钟前
从 GC 抖动到稳定低延迟:在升讯威客服系统中实践 Span 与 Memory 的高性能优化
java·javascript·python·算法·性能优化·php·swift
莫寒清33 分钟前
MyBatis 如何防止 SQL 注入?
面试·mybatis
weixin_4493108436 分钟前
使用轻易云平台实现数据ETL转换与写入金蝶云星辰V2
java·数据仓库·etl
Seven9738 分钟前
剑指offer-77、打印从1到最⼤的n位数
java
鲨辣椒1008640 分钟前
线程函数接口补充
java·开发语言·算法
玄〤41 分钟前
个人博客网站搭建day5--MyBatis-Plus核心配置与自动填充机制详解(漫画解析)
java·后端·spring·mybatis·springboot·mybatis plus