MyBatis-Flex: 一个优雅的 MyBatis 增强框架
特征
1、很轻量
MyBatis-Flex 整个框架只依赖 MyBatis,再无其他任何第三方依赖。
2、只增强
MyBatis-Flex 支持 CRUD、分页查询、多表查询、批量操作,但不丢失 MyBatis 原有的任何功能。
3、高性能
MyBatis-Flex 采用独特的技术架构、相比同类框架(比如 MyBatis-Plus),MyBatis-Flex 的在增删改查等方面的性能均超越其 5~10 倍或以上。
4、更灵动
MyBatis-Flex 支持多主键、多表查询、逻辑删除、乐观锁、数据脱敏、数据加密、多数据源、分库分表、字段权限、 字段加密、多租户、事务管理、SQL 审计... 等等等等。 这一切,免费且灵动。
在上一个版本 MyBatis-Flex v1.4.8 中,我们增加了对 Rleation 注解的夸数据源支持,例如:
在以上代码中,Account 的关联数据 books,是从 ds2 数据源中获取的,Account 和 Book 可以并不在同一个数据库里。
假设,Account 有 5 条数据,关联查询全部数据,执行的 SQL 如下:
在这个版本中,我们有增加了对关联查询的支持,比如支持多级递归查询,并可以配置递归深度,通过这种场景我们轻易的对 tree 进行查询。例如:
可以无限极查询出其 children 内容。
除此之外,在 v1.4.9 中,@RelationOneToMany 等注解一样支持对 vo、dto 的配置,同时支持通过中间表进行关联的场景。
MyBatis-Flex v1.4.9 更新如下:
新增:Relation 注解支持递归查询的功能及递归深度设置的功能
新增:Relation 注解添加对 vo、dto 等进行关联查询时,可以指定表的配置支持
新增:Relation 注解支持通过中间表进行 join 场景的支持
新增:Relation 注解添加自定义条件 extraCondition 配置的支持
新增:Relation 注解添加可以忽略某个注解查询的支持
新增:数据方言新增对 星瑞格数据库 的支持,感谢 @占山为王
新增:BaseMapper.updateByMap () 方法,感谢 @王帅
新增:QueryWrapper 构建添加 ture、false 常量函数,感谢 @王帅
优化:静态常量使用 final 修饰,感谢 @meng.liu3
优化:为项目添加 .editorconfig 文件,统一不同作者协助的代码格式化
优化:UpdateWrapper 添加 of 方法,用于替代强转更新
优化:重构 BaseMapper 的文档生成器,感谢 @王帅
优化:添加码生成器 tableDef 字段排序,感谢 @王帅
修复:使用 SqlServer 2005 方言查询时出错的问题
修复:selectListWithRelationsByQueryAs 出现数据类型转换异常的问题
修复:Relations 注解在用户定义包装类型时可能导致结果出错的问题
修复:代码生成器配置 setListenerClass 时,结果不正确的问题,感谢 @菜鸟 3853
修复:APT 功能在使用 gradle 时无法读取配置文件的问题,感谢 @王帅
文档:更新 Relations 注解的相关文档
文档:调整 ChangeLog 放到首页菜单
文档:完善代码生成器的相关配置文档,感谢 @王帅
领取专属 10元无门槛券
私享最新 技术干货