【直播预告】程序员逆袭 CEO 分几步?
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 春节前的最后一个版本,不知不觉,MyBatis-Flex 已经发布了 178 个版本,130 位小伙伴参与贡献,感谢大家的付出,才能让 MyBatis-FLex 茁壮成长。
MyBatis-Flex v1.8.1~1.8.2 更新细节如下:
- 新增:添加 CommaSplitTypeHandler 用于对逗号分割存储映射到实体类
List<String>
的支持 - 新增:代码生成器 EntityConfig 添加 superClassFactory 配置的支持
- 新增:Maven 编译添加 Javadoc 插件生成 Javadoc 的支持,感谢 @王帅
- 优化:优化对 SpringBoot3 下的 Druid 数据源适配,感谢 @王帅 #I94P5P:[使用问题]: 建议在MultiDataSourceAutoConfiguration中@AutoConfigureBefore补充一下Springboot3的Druid自动配置类
- 优化:dependencies 模块取消继承父模块的其他依赖管理版本,感谢 @王帅 #I94RVP:[Bug]: Could not find class [org.springframework.jdbc.core.simple.JdbcClient]
- 优化:分页在 count 之前先去掉 limit 参数,避免 count 查询错误,感谢 @oc
- 优化:优化 SqlOperators 使之代码更加严谨
- 优化:代码生成器 Table.java 添加 containsColumn 方法的支持
- 优化:TypeHandlerObject 添加 value 的 getter 方法,方便拦截器在某些场景下获取,感谢 @ruansheng
- 优化:重构代码生成器模块的 JdbcTypeMapper,以支持更多的参数读取
- 优化:FlexTransactionAutoConfiguration 添加更多的 AutoConfigureBefore 设置,感谢 @witt #I930JB:[Bug]: com.mybatisflex.spring.boot.FlexTransactionAutoConfiguration的`transactionManager`定义,未提供客制化选择
- 优化:优化 EntityGenerator.java 的相关输出日志
- 优化:优化 TableInfo.newInstanceByRow 可能存在的性能问题 #I94D33:[Bug]: newInstanceByRow存在严重性能问题
- 优化:优化 ToManyRelation 存在的性能问题,感谢 @SWQXDBA
- 修复:全局 TypeHandler 无法注册的问题,感谢 @王帅
- 修复:ConvertUtil.java 无法正确转换 Serializable 参数的问题
- 修复:多数据源模式下,当设置了分片规则以后,不能设置正确的 DbType,感谢 @caojingwei
- 修复:代码生成器设置类型为 java.util.List 时,import 导入不正确的问题
- 修复:ClassUtil.getAllMethods 方法处理枚举类型时逻辑有缺陷的问题 #I94749:[Bug]: ClassUtil.getAllMethods方法处理枚举类型时逻辑有缺陷,导致CompositeEnumTypeHandler的delegate未能被分配FlexEnumTypeHandler #I94321:[使用问题]: 枚举注解优先级。枚举类当前属性、当前方法没有注解,父类接口中使用了枚举注解,未进行枚举值转换。
- 修复:@EnumValue 标记在方法上没有获取 propertyType 的问题,感谢 @王帅
- 修复:设置全局的 TypeHandler 不起作用的问题,感谢 @王帅
- 修复:被 transient 标记的字段不会被映射到数据库当中的问题,感谢 @王帅 #I953IS:实体类属性和数据库表字段解耦
- 文档:代码生成器添加设置
java.util.List<String>
类型的相关文档 - 文档:代码生成器添加关于无法获取注释的相关注意事项
- 文档:修正自动映射的相关示例代码,感谢 @zhangyx_scut
- 文档:修正 db + row 的相关实例代码,感谢 @zhangyx_scut
代码贡献者,请参考:https://mybatis-flex.com/zh/intro/what-is-mybatisflex.html#%E8%B4%A1%E7%8C%AE%E8%80%85
进一步了解 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 视频教程》
课程简介:该课程由 王帅 老师录制主讲, 王帅 老师也是除了作者以外,对 MyBatis-Flex 代码贡献最大的 committer。 其无论对 MyBatis 还是 MyBatis-Flex,都有非常深入的理解。
课程地址:
https://www.bilibili.com/video/BV11h411A7cU
还没有评论,来说两句吧...