高级特性
Mybatis-Mate 是为 MyBatis-Plus 提供的企业级模块,旨在更敏捷优雅处理数据。
- 使用示例 :传送门
- 联系作者确认后微信公众号发文介绍 Mybatis-Mate 的软文,可免费获得永久个人授权证书。
- 该模块属于 MyBatis-Plus 的扩展库,非 MyBatis-Plus 的收费版本,任何问题由
青苗
个人负责。
免费视频教程 青苗出品,质量保障
数据审计(对账)
- 使用示例:👉 mybatis-mate-audit
- 对比两对象属性差异,例如:银行流水对账。
数据敏感词过滤
- 使用示例👉 mybatis-mate-sensitive-words
- 数据敏感词过滤(AC 算法)配置完处理器,框架自动处理请求的所有字符串敏感词过滤,支持嵌套关键词让敏感词无处遁形。
- 数据库自维护敏感词库(免费、可控),默认加载缓存词根支持指定重新加载词库。
数据范围(数据权限)
- 使用示例:mybatis-mate-datascope
- 注解 @DataScope
属性 类型 必须指定 默认值 描述 type String 否 "" 范围类型,用于区分对于业务分类,默认空 value DataColumn[] 否 数据权限字段,支持多字段组合 ignore boolean 否 false 忽略权限处理逻辑 true 是 false 否 - 注解 @DataColumn
属性 类型 必须指定 默认值 描述 alias String 否 "" 关联表别名 name String 是 字段名 - 行级粒度权限控制,例如:上级部门可以查看子部门信息。
表结构自动维护
- 使用示例:
- 数据库
Schema
初始化,升级SQL
自动维护,区别于flyway
支持分表库、可控制代码执行 SQL 脚本 - 首次会在数据库中生成
ddl_history
表,每次执行SQL脚本会自动维护版本信息。
字段数据绑定(字典回写)
- 使用示例:👉 mybatis-mate-dict
- 注解 @FieldBind
属性 类型 必须指定 默认值 描述 sharding String 否 "" 分库分表数据源指定 type String 是 类型(用于区分不同业务) target String 是 目标显示属性(待绑定属性,注意非数据库字段请排除) - 数据库
sex
值0
、1
自动映射为男
、女
- 可以绑定映射为对象,例如:根据订单 ID 映射 订单对象或者编号
- 绑定业务处理类需要实现 IDataBind 接口,注入 spring 容器
虚拟属性绑定
- 使用示例:👉 mybatis-mate-jsonbind
- 注解 @JsonBind
- 返回 Json 虚拟属性绑定策略
字段加密解密
-
使用示例:👉 mybatis-mate-encrypt
-
注解 @FieldEncrypt
属性 类型 必须指定 默认值 描述 password String 否 "" 加密密码 algorithm Algorithm 否 PBEWithMD5AndDES PBE MD5 DES 混合算法 encryptor Class 否 IEncryptor 加密处理器 -
算法 Algorithm
算法 描述 MD5_32 32 位 md5 算法 MD5_16 16 位 md5 算法 BASE64 64 个字符来表示任意二进制数据算法 AES AES 对称算法 【需要模糊查询的请务必使用该算法】 RSA 非对称加密算法 SM2 国密 SM2 非对称加密算法,基于 ECC SM3 国密 SM3 消息摘要算法,可以用 MD5 作为对比理解 SM4 国密 SM4 对称加密算法,无线局域网标准的分组数据算法 PBEWithMD5AndDES 混合算法 PBEWithMD5AndTripleDES 混合算法 PBEWithHMACSHA512AndAES_256 混合算法 PBEWithSHA1AndDESede 混合算法 PBEWithSHA1AndRC2_40 混合算法 -
注解
FieldEncrypt
实现数据加解密,支持多种加密算法
字段脱敏
- 使用示例:👉 mybatis-mate-sensitive-jackson
- 注解 @FieldSensitive
- 注解
FieldSensitive
实现数据脱敏,内置手机号
、邮箱
、银行卡号
等 9 种常用脱敏规则
多数据源分库分表(读写分离)
- 使用示例:👉 mybatis-mate-sharding
- 注解 @Sharding
属性 类型 必须指定 默认值 描述 value String 是 "" 分库组名,空使用默认主数据源 strategy Class 否 RandomShardingStrategy 分库&分表策略 - 配置
- 注解
Sharding
切换数据源,组内节点默认随机选择(查从写主) - 切换指定数据库节点