Mybatis增强MyBatis Plus、MyBatis Mate、Fluent MyBatis、MyBatis Flex

概述

Mybatis有很多增强版,包括:Mybatis Plus、Fluent Mybatis、MyBatis Flex

MyBatis Plus

另起一篇,参考MyBatis Plus实战笔记

MyBatis Mate

MyBatis Plus官方发布的神器,支持分库分表,数据审计、数据敏感词过滤(AC 算法),字段加密,字典回写(数据绑定),数据权限,表结构自动生成 SQL 维护等,旨在更敏捷优雅处理数据。功能如下:

  • 字典绑定
  • 字段加密
  • 数据脱敏
  • 表结构动态维护
  • 数据审计记录
  • 数据范围(数据权限)
  • 数据库分库分表、动态数据源、读写分离、数据库健康检查自动切换

引入依赖:

<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>mybatis-mate-starter</artifactId>
</dependency>

字段加密

属性增加@FieldEncrypt注解即可加密存储,查询时会自动解密,支持配置全局加密密钥算法,及注解密钥算法,可以实现 IEncryptor 注入自定义算法。

@FieldEncrypt(algorithm = Algorithm.PBEWithMD5AndDES)
private String password;

字段脱敏

属性字段增加@FieldSensitive注解即可自动按照预设策略对源数据进行脱敏处理,SensitiveType 内置 9 种常用脱敏策略,如中文名、银行卡账号、手机号码等。

@FieldSensitive(type = SensitiveType.mobile)
private String mobile;
@FieldSensitive(type = "testStrategy")
private String username;

增加自定义脱敏策略:

@Configuration
public class SensitiveStrategyConfig {
    @Bean
    public ISensitiveStrategy sensitiveStrategy() {
        return new SensitiveStrategy().addStrategy("testStrategy", t -> t + "***test***");
    }
}

资源

分库分表神器MyBatis Mate

Fluent Mybatis

GitHub
Gitee
官方文档

阿里云云效产品团队开发的MyBatis增强框架。

资源

快速入门:Fluent MyBatis使用入门
阿里云官网内容平台:Let’s Fluent:更顺滑的 MyBatis

Mybatis Flex

官网:https://mybatis-flex.com/
GitHub:https://github.com/mybatis-flex/mybatis-flex
文档:https://mybatis-flex.com/zh/intro/comparison.html

Mybatis-Flex 是一个优雅的 Mybatis 增强框架,非常轻量、同时拥有极高的性能与灵活性。可以轻松的使用Mybaits-Flex连接任何数据库,内置QueryWrapper可极大减少SQL编写工作,减少出错可能性。几乎集成mybatis plus、jooq、fluent mybatis的所有优点。

特点:

  1. 轻量:除了 MyBatis,无任何第三方依赖、没有任何拦截器,其原理是通过 SqlProvider 的方式轻实现。同时,在执行的过程中,没有任何的 Sql 解析(Parse)。好处:
    1. 极高的性能
    2. 极易对代码进行跟踪和调试
    3. 把控性更高
  2. 灵活:支持 Entity 的增删改查、分页查询,提供 Db + Row灵活工具,可以无需实体类对数据库进行增删改查以及分页查询。内置的 QueryWrapper可以轻易实现 多表查询、链接查询、子查询 等常见的 SQL 场景。
  3. 强大:支持任意关系型数据库,还可以通过方言持续扩展,同时支持多(复合)主键、逻辑删除、乐观锁配置、数据脱敏、数据审计、 数据填充等功能

MyBatis Flex 支持几乎所有的数据库类型,还可以通过自定义方言的方式,持续添加更多的数据库支持。

<dependency>
    <groupId>com.mybatis-flex</groupId>
    <artifactId>mybatis-flex-spring-boot-starter</artifactId>
</dependency>

代码生成:https://mybatis-flex.com/zh/others/codegen.html

benchmark

https://mybatis-flex.com/zh/intro/benchmark.html

推荐阅读

Fluent Mybatis, 原生Mybatis, Mybatis Plus三者功能对比

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

johnny233

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值