mybatis-mate-encrypt使用
时间: 2023-08-03 12:04:53 浏览: 213
Mybatis-Mate-Encrypt 是 Mybatis-Mate 的一个插件,用于在 Mybatis 中对敏感数据进行加密和解密处理。
使用步骤如下:
1. 引入 Mybatis-Mate-Encrypt 依赖:
```xml
<dependency>
<groupId>com.github.mybatis-mate</groupId>
<artifactId>mybatis-mate-encrypt</artifactId>
<version>1.0.3</version>
</dependency>
```
2. 在 Mybatis 配置文件中配置插件:
```xml
<plugins>
<plugin interceptor="com.github.mybatis.mate.encrypt.EncryptInterceptor">
<!-- AES加密key -->
<property name="aesKey" value="1234567890123456"/>
<!-- 加密字段配置 -->
<property name="encryptColumns">
<!-- 配置表名、列名、加密类型 -->
<encryptColumn tableName="user" columnName="password" encryptType="AES"/>
</property>
</plugin>
</plugins>
```
3. 在 Java 实体类中使用 @EncryptField 注解标注需要加密的字段:
```java
public class User {
private Integer id;
private String username;
@EncryptField(type = EncryptType.AES)
private String password;
// getter 和 setter 略
}
```
4. 在 Mapper.xml 文件中使用 ${} 访问加密字段:
```xml
<select id="getUserById" resultType="User">
select id, username, ${password} as password from user where id = #{id}
</select>
```
5. 在 Service 中调用 Mapper 方法即可:
```java
public User getUserById(Integer id) {
return userMapper.getUserById(id);
}
```
以上就是 Mybatis-Mate-Encrypt 的使用方法。需要注意的是,Mybatis-Mate-Encrypt 目前只支持 AES 加密和解密。如需使用其他加密算法,可以自行扩展。
阅读全文