数据加密解密基于注解失效问题排查解决日志

前言:

本项目代码转了几个部门,多人参与,项目是硬上的服务, 单体项目添加了微服务组件,摇身一变微服务,上容器云平台。 

项目中持久层有 tk-mybatis, mybatis-plus , 两个框架都是基于mybatis做的加强,引入的包极有可能是冲突的, 果不其然, 做冲突检查一片红。 

代码中少部分是 plus的代码,稍加修改统一到tk, 问题解决。 

正文:基于tk-mybatis开发配置加密解密功能 (mybatis-plus 大同小异,只改实体类对应字段注解即可)

1、mybatis配置说明

image2023-7-15_11-22-25.png

 

此处是全局配置(如果不需要所有相同类型字段都加密解密则不需要配置)

  (1)对于typeHandler,如果你的字段类型和扩展的字段类型为equals关系,则只需要让你的typeHandler让Mybatis加载到即可,不需要使用注解,也不需要配置 Mapper.xml(适合于全库加密存储)。

 ( 2) 不需要配置全局的handler , 在你需要的地方显示申明 加解密的注解, 或者 mapper.xml 中配置 handler

2、自定义typeHandler ,定义数据库varchar 类型,java 中对应String 如下所示:

 

 

3、显示申明需要加密字段 ,指定自定义 typeHandler ,当然也可以在mapper.xml的配置文件中的resultMap、参数中进行配置使用。

mapper.xml 中配置:

<result property="ZYFZRYDDH" column="ZYFZRYDDH" jdbcType="VARCHAR" typeHandler="com.kqzz.busiServer.type.CryptTypeHandler"/>

总结:

开发主管要做好技术栈管理,非必要不多引入一个第三方包。可以考虑基于工具辅助实现。

有实有专门的maven插件和 checkstyle规则来作约束。我们之前尝试过。

  1. CheckStyle规则说明(全)其中有一条是不允许引入特定类型。这样就从根本上杜绝了。
  2. Maven插件也可以直接检查依赖。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值