![]()
MyBatis-Flex: 一个优雅的 MyBatis 增强框架
特征
1、很轻量
MyBatis-Flex 整个框架只依赖 MyBatis,再无其他任何第三方依赖。
2、只增强
MyBatis-Flex 支持 CRUD、分页查询、多表查询、批量操作,但不丢失 MyBatis 原有的任何功能。
3、高性能
MyBatis-Flex 采用独特的技术架构、相比许多同类框架,MyBatis-Flex 的在增删改查等方面的性能均超越其 5~10 倍或以上。
4、更灵动
MyBatis-Flex 支持多主键、多表查询、逻辑删除、乐观锁、数据脱敏、数据加密、多数据源、分库分表、字段权限、 字段加密、多租户、事务管理、SQL 审计... 等等等等。 这一切,免费且灵动。
在 MyBatis-Flex v1.5.7 发布啦,在 v1.5.7 中,可以通过 QueryWrapper 构建 left join 的 update 和 delete 的 SQL,比如:
UPDATE t1
LEFT JOIN
t2
ON t2.id = t1.id
SET t1.col1 = newvalue
WHERE t2.id IS NULL
同时在 MyBatis-Flex 多数据源中,添加了对 Seata 分布式事务的支持,已经针对逻辑删除、乐观锁、多租户等字段进行全局配置的相关支持。
MyBatis-Flex v1.5.7 更新细节如下:
- 新增:QueryWrapper 添加对 delete 和 update 的 left join 支持
- 新增:RelationManager.addIgnoreRelations() 添加对 lambda 的支持
- 新增:添加 QueryColumnBehavior 用于自定义 QueryColumn 的某些行为特征
- 新增:typeHandler 添加对泛型自动支持的功能
- 新增:多数据源新增对 Seata 分布式事务的支持,感谢 @life
- 新增:添加对 Kotlin 的扩展支持,感谢 @卡莫sama
- 新增:添加 saveOrUpdateBatch 方法的支持,感谢 @王帅
- 新增:QueryModel 提供 as 方法的支持,感谢 @王帅
- 新增:逻辑删除、乐观锁、多租户添加全局默认自动配置的功能,感谢 @王帅
- 优化:移除 flex 自动把 id 属性设置为主键的功能
- 优化:重构链式调用的方法,统一链式调用和 ActiveRecord 的 API,感谢 @王帅
- 优化:UpdateChian 支持设置 left join 的表数据的支持,感谢 @王帅
- 修复:db2 方言的 KeywordWrap 错误的问题
- 修复:在某些场景下 count 查询没有被替换的问题,感谢 @王帅
- 修复:QueryWrapper 的 or(consumer, condition) 方法逻辑错误,感谢 @王帅
- 修复:QueryColumn 由于 Predicate 没有类型约束可能导致类型转换异常的问题,感谢 @王帅
- 修复:OSGI 环境下,Lambda 通过 ClassLoader 获取不到类的问题,感谢 @2han9wen71an
- 文档:更新视频教程的文档链接
- 文档:添加 SpringBoot 最低版本的说明文档,感谢 @王帅
- 文档:Seata 分布式事务的相关文档,感谢 @life
- 文档:增加了使用gradle构建时的文档说明,感谢 @CloudPlayer
- 文档:增加了在Kotlin中使用注解处理器的说明,感谢 @CloudPlayer
- 文档:常见问题添加代码生成器获取不到注释说明,感谢 @王帅
- 文档:常见问题添加 Spring Devtools 造成的类转换异常的相关文档
- 文档:常见问题添加 Nacos 集成启动出错的相关文档
当前版本得以发布,感谢以下 4 位同学的 PR,他们分别是:
@王帅、@life、@CloudPlayer、@卡莫sama
进一步了解 MyBatis-Flex 框架,请参考一下链接:
bilibili 视频教程(免费):