之前写过一篇: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