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.6 发布啦,同时由社区同学 王帅 老师发布了 MyBatis-Flex 视频教程之《关联查询之Join 查询》
视频教程详情:https://www.bilibili.com/video/BV1B8411d7iC
MyBatis-Flex v1.5.6 更新如下:
- 新增:代码生成器重构并新增对 Solon 框架的代码生成功能,感谢 @王帅
- 新增:添加新的默认的达梦方言,之前使用 Oracle,感谢 @英雄路
- 优化:优化 QueryWrapper.toSQL() 的性能
- 优化:添加 "未配置事务生成器" 时的异常信息国际化支持
- 优化:重构 KeywordWrap.java 使之代码逻辑更加清晰
- 优化:重构代码生成器的 Generator,使之在 web 中在线生成时,保证链接正常关闭
- 优化:代码生成器的 Column 添加关于数据库类型和长度的相关属性
- 优化:优化 QueryWrapper.exists() 的性能,感谢 @风吹雪花飘
- 优化:修改 FlexIDKeyGenerator 注释描述错误的问题,感谢 @duxlei
- 修复:新增 spring-devtools.properties 已解决 Spring 类转换异常的问题
- 修复:QueryWrapper 同时 left join 两个同一个表的时候,逻辑删除条件不正确的问题 #I7QD29:[Bug]: queryWrapper 需要同时leftjoin 两个同一个表的时候,自动加的 deleted=0 会取到第一个表,而不会取第二个表
- 修复:RelationManager 在某些场景先可能出现 NPE 的问题
- 修复:@UseDataSource 注解在某些 Spring 场景下不生效的问题,感谢 @王帅
- 修复:某些场景下,多数据源使用 JdbcTemplate 事务下使用报错的问题,感谢 @life
- 修复:FieldQueryManager.java 在某些极端场景下出现 NPE 的问题,感谢 @loong0306
- 修复:同表连接查询,别名匹配不正确的问题,感谢 @英雄路
- 修复:QueryMethods.column 等构建列使用 as 方法设置别名无效的问题,感谢 @王帅
- 文档:添加 QueryWrapper join 自身的相关示例
- 文档:常见问题添加启动失败说明列表,感谢 @王帅
- 文档:优化关于 ActiveRecord 的相关文档,感谢 @王帅
- 文档:修改 Auto-Mapper 的一些错误文档,感谢 @王帅
- 文档:修改 APT 的配置描述错误的文档,感谢 @王帅
- 文档:修改 APT generateEnable 描述错误的问题,感谢 @qixy
- 文档:修改代码生成器的示例代码错误的文档,感谢 @王帅
- 文档:更新 MyBatis-Flex-Helper 的相关文档和截图
- 文档:优化 MyBatis 原生使用的相关文档,感谢 @Pioneer-Sun
- 文档:修改关于 FAQ 的相关描述错误问题,感谢 @wlf
当前版本得以发布,感谢以下 9 位同学的 PR,他们分别是:
@wlf、@Pioneer-Sun、@王帅、@qixy、@英雄路、@loong0306、@life、@duxlei、@风吹雪花飘
进一步了解 MyBatis-Flex 框架,请参考一下链接:
- 1、快速开始:https://mybatis-flex.com/zh/intro/getting-started.html
- 2、多表关联查询:https://mybatis-flex.com/zh/base/query.html
- 3、一对多、多对一:https://mybatis-flex.com/zh/base/relations-query.html
- 4、灵活的 QueryWrapper:https://mybatis-flex.com/zh/base/querywrapper.html
- 5、逻辑删除:https://mybatis-flex.com/zh/core/logic-delete.html
- 6、乐观锁:https://mybatis-flex.com/zh/core/version.html
- 7、数据填充:https://mybatis-flex.com/zh/core/fill.html
- 6、数据脱敏:https://mybatis-flex.com/zh/core/mask.html
- 7、SQL 审计:https://mybatis-flex.com/zh/core/audit.html
- 8、多数据源:https://mybatis-flex.com/zh/core/multi-datasource.htm
- 9、数据源加密:https://mybatis-flex.com/zh/core/datasource-encryption.html
- 10、动态表名:https://mybatis-flex.com/zh/core/dynamic-table.html
- 11、事务管理:https://mybatis-flex.com/zh/core/tx.html
- 12、数据权限:https://mybatis-flex.com/zh/core/data-permission.html
- 13、字段权限:https://mybatis-flex.com/zh/core/columns-permission.html
- 14、字段加密:https://mybatis-flex.com/zh/core/columns-encrypt.html
- 15、字典回写:https://mybatis-flex.com/zh/core/columns-dict.html
- 16、枚举属性:https://mybatis-flex.com/zh/core/enum-property.html
- 17、多租户:https://mybatis-flex.com/zh/core/multi-tenancy.html
- 18、代码生成器:https://mybatis-flex.com/zh/others/codegen.html
- 19、QQ 交流群:https://mybatis-flex.com/zh/intro/qq-group.html
- 20、更好用的功能正在路上:https://mybatis-flex.com
bilibili 视频教程(免费):
- MyBatis-Flex 视频教程 - 01 课程介绍
- MyBatis-Flex 视频教程 - 02 MyBatis-Flex 简介
- MyBatis-Flex 视频教程 - 03 为什么使用 MyBatis-Flex
- MyBatis-Flex 视频教程 - 04 基于 SpringBoot 的快速开始
- MyBatis-Flex 视频教程 - 05 自动生成类的介绍
- MyBatis-Flex 视频教程 - 06 MyBatis-Flex 的配置选项
- MyBatis-Flex 视频教程 - 07 初识 BaseMapper 接口
- MyBatis-Flex 视频教程 - 08 插入数据
- MyBatis-Flex 视频教程 - 09 删除数据
- MyBatis-Flex 视频教程 - 10 更新数据
- MyBatis-Flex 视频教程 - 11 复杂更新
- MyBatis-Flex 视频教程 - 12 基础查询
- MyBatis-Flex 视频教程 - 13 映射查询
- MyBatis-Flex 视频教程 - 14 QueryWrapper 的介绍
- MyBatis-Flex 视频教程 - 15 QueryWrapper 的操作
- MyBatis-Flex 视频教程 - 16 @Table 注解的简单使用
- MyBatis-Flex 视频教程 - 17 onInsert、onUpdate 的使用
- MyBatis-Flex 视频教程 - 18 onSet 实现字段权限
- MyBatis-Flex 视频教程 - 19 onSet 实现字段加密
- MyBatis-Flex 视频教程 - 20 onSet 实现字典回写
- MyBatis-Flex 视频教程 - 21 全局监听器配置
- MyBatis-Flex 视频教程 - 22 @Id 的简单使用
- MyBatis-Flex 视频教程 - 23 自定义主键生成器
- MyBatis-Flex 视频教程 - 24 @Column 注解的简单使用
- MyBatis-Flex 视频教程 - 25 isLogicDelete 逻辑删除的简单使用
- MyBatis-Flex 视频教程 - 26 自定义逻辑删除处理器
- MyBatis-Flex 视频教程 - 27 version 乐观锁的简单使用
- MyBatis-Flex 视频教程 - 28 tenantId 多租户的简单使用
- MyBatis-Flex 视频教程 - 29 typeHandler 的简单使用
- MyBatis-Flex 视频教程 - 30 数据脱敏的简单使用
- MyBatis-Flex 视频教程 - 31 枚举属性的使用
- MyBatis-Flex 视频教程 - 32 关联查询(Join Query)