增加 MyBatis Plus 的字段加密时,查询的示例

This commit is contained in:
YunaiV
2022-05-19 23:01:35 +08:00
parent 0ae9af0492
commit e81ac9c1d0
3 changed files with 25 additions and 5 deletions

View File

@ -29,29 +29,36 @@ public class EncryptTypeHandler extends BaseTypeHandler<String> {
@Override
public String getNullableResult(ResultSet rs, String columnName) throws SQLException {
String value = rs.getString(columnName);
return getResult(value);
return decrypt(value);
}
@Override
public String getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
String value = rs.getString(columnIndex);
return getResult(value);
return decrypt(value);
}
@Override
public String getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
String value = cs.getString(columnIndex);
return getResult(value);
return decrypt(value);
}
private String getResult(String value) {
private static String decrypt(String value) {
if (value == null) {
return null;
}
return getEncryptor().decrypt(value);
}
private StringEncryptor getEncryptor() {
public static String encrypt(String rawValue) {
if (rawValue == null) {
return null;
}
return getEncryptor().encrypt(rawValue);
}
private static StringEncryptor getEncryptor() {
if (encryptor != null) {
return encryptor;
}