Mybatis拦截器打印完整SQL

本文介绍了如何使用Mybatis拦截器来打印SQL的完整内容和执行时间,以便于在调试时直接查看并复制执行。通过拦截器的三个关键方法,将占位符替换为实际参数,实现日志中的SQL展示。配置完成后,可以在日志中看到完整的SQL语句,提升开发效率。
摘要由CSDN通过智能技术生成

之前写过一篇:Mybatis拦截器实现Geometry类型数据存储与查询

主要是关于Mybatis拦截器的使用。从赞的数量看🤣,可能知道Geometry数据类型的人不多,这种类型是MySQL中处理地理数据的数据类型,比如经纬度等。

今天再说一下,如何使用Mybatis拦截器打印完整SQL

MybatisPlus自带一款SQL性能分析拦截器:com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor

而这个可以打印部分SQL,就像下面这样:

 

可是SQL里面是有占位符?的,是不完整的,我们更想的是直接看到完成的SQL

如果出现了Bug,我们查看日志的时候,能直接看到SQL,而且复制出来直接可以运行,这难道不快乐吗?

 

 

拦截器完整代码

package com.ler.manager.interceptor;

import com.baomidou.mybatisplus.core.toolkit.StringPool;
import java.text.DateFormat;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.Properties;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.executor.Executor;
import org.apache.ibatis.mapping.BoundSql;
import org.apache.ibatis.mapping.MappedStatement;
import org.apache.ibatis.mapping.ParameterMapping;
import org.apache.ibatis.plugin.Interceptor;
import org.apache.ibatis.plugin.Intercepts;
import or
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值