大家好,我是爱学习的了不起!
Mybatis 是一个优秀的 ORM 框架,本身功能比较少,为了提高开发效率,出现了一些 Mybatis 增强框架,大家比较熟悉的是 MyBatis-Plus。今天给大家推荐一个轻量的 Mybatis 增强框架 – MyBatis-Flex。
项目特征
- 轻量,框架只依赖 Mybatis 再无其他第三方依赖
- 只增强,支持 Entity 的增删改查及分页查询
- 内置 Db + Row 工具,可以无需实体类进行增删改查
- 几乎支持市面上所有的数据库,还可以通过方言持续扩展
- 支持多(联合)主键,以及不同的主键内容生成策略
- 支持逻辑删除设置、更新或插入的默认值配置
- 支持数据脱敏和字段脱敏
- 支持字典回写,将数据库中的枚举值转换为页面显示的名称
- 支持多租户
- MyBatis-Flex 速度大概是 MyBatis-Plus 的 5 ~ 10+ 倍
使用案例
定义mapper
1 | public interface UserMapper extends BaseMapper<User> { |
1 | //普通查询 |
在数据量大的情况使用游标查询
1 | Db.tx(() -> { |
在每次for循环时候才去查询数据,不是一次性把数据都读出来,适合批量处理数据的场景,比如对账、加载到缓存,导出数据等等。
数据缓存
在 Spring Boot 配置类上启用 Spring Cache 缓存
1 |
|
ServiceImpl继承 CacheableServiceImpl 实现类
1 |
|
其他增删改查方法可以参考官方文档。
项目地址
1 | https://github.com/mybatis-flex/mybatis-flex |
总结
mybatis-flex是Mybatis的增强版,几乎集成了mybatis plus、jooq、fluent mybatis的所有优点,大家可以探索一下。