提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
本文在SpringBoot环境下,利用MyBatis的Interceptor接口实现一个数据脱敏的插件。
一、MyBatis插件
MyBatis的插件是框架提供的一个接口,便于我们进行拓展,来增强增删改查数据的能力
我们可以通过实现`Interceptor`接口,通过动态代理,对相应的方法进行拦截转而执行我们的自定义方法,具体是`Interceptor`接口的`intercept`方法。
通过这种方式我们可以拦截到的组件有`Executor`、`StatementHandler`、`ParameterHandler`、`ResultSetHandler`四种组件。
二、具体步骤
1.依赖导入与代码编写
- 引入MyBatis或者MyBatis-Plus
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
or
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
- 创建一个Desensitizer类实现Interceptor接口
public class DataDesensitizer implements Interceptor{
private Logger logger = LoggerFactory.getLogger(Interceptor.class);
@Override
public Object intercept