Mybatis拦截器打印完整SQL
主要是关于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 org.apache.ibatis.plugin.Invocation;
import org.apache.ibatis.plugin.Plugin;
import org.apache.ibatis.plugin.