开发中,如果遇到这样的日志,肯定会带来不必要的工作量,如果我们能自动将参数匹配到SQL中,排查SQL将会变得轻而易举。通过自动化的参数匹配,我们可以减少手动操作的繁琐,提高开发效率,并确保数据的准确性和安全性。在实现参数自动匹配时,我们可以采用一些技术手段。
下面介绍的是通过Mybatis-plus拦截器实现自动参数注入。
第一步:导入依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
第二步:编写Mybatis-plus拦截器
@Configuration
public class MybatisConfiguration {
// Mybatis SQl拦截器
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
mybatisPlusInterceptor.addInnerInterceptor(new MybatisPlusAllSqlLog());
return mybatisPlusInterceptor;
}
}
第三步: 对sql输出拦截方法添加一个sql执行耗时方法
@Intercepts({
@Signature(type = Executor.class, method = "update", args = {MappedStatement.class,
Object.class}),
@Signature(type = Executor.class, method = "query", args = {MappedStatement.class,
Object.class, RowBounds