Mybatis和Mybatis-plus中自动加解密的实现
由于项目保密性的要求,需要经常对一些字段做加解密和类型的转换,每次查询对象再做转换的方式过于繁琐,可以通过mybatis的类型转换器进行实现。代码如下:
@MappedTypes({
SensitiveSM2.class}) //java对象的字段属性
@MappedJdbcTypes({
JdbcType.VARCHAR}) //数据库中的字段属性
@Slf4j
public class Sm2TypeHandler extends BaseTypeHandler<SensitiveSM2> {
byte[] pubkey = Util.hexStringToBytes("公钥");
byte[] prikey = Util.hexStringToBytes("私钥");
@Override
public void setNonNullParameter(PreparedStatement ps, int i, SensitiveSM2 parameter,