新增多数据源进行关联查询,MyBatis-Flex v1.4.8 发布
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.7 中增加了如下的 4 个关联查询注解,他们分别是:
- RelationOneToOne:用于一对一的场景
- RelationOneToMany:用于一对多的场景
- RelationManyToOne:用于多对一的场景
- RelationManyToMany:用于多对多的场景
在 v1.4.7 的基础上,这些注解又新增了 dataSource 的配置,可以用于指定查询某个数据源的内容,例如:
public class Account implements Serializable { @Id(keyType = KeyType.Auto) private Long id; private String userName; @RelationOneToMany(targetField = "accountId", dataSource="ds2") private List<Book> books; //getter setter }
在以上代码中,Account 的关联数据 books,是从 ds2 数据源中获取的,Account 和 Book 可以并不在同一个数据库里。
假设,Account 有 5 条数据,关联查询全部数据,执行的 SQL 如下:
SELECT `id`, `user_name`, `age` FROM `tb_account` SELECT `id`, `account_id`, `title`, `content` FROM `tb_book` WHERE account_id IN (1, 2, 3, 4, 5)
MyBatis-Flex v1.4.8 更新如下:
- 新增:
@RelationXXX
相关注解添加可以指定 dataSource 的配置功能 - 新增:添加 BaseMapper.insertSelectiveWithPk() 方法
- 新增:QueryWrapper 构建的 SQL 添加 If, IfNull 支持,感谢 @王帅
- 新增:添加 FlexAssert 类,用于常见的异常条件断言,感谢 @王帅
- 优化:为 APT 添加 final 关键字以及字段排序的功能,感谢 @王帅
- 优化:APT 的 large 字段或者 logicDelete 字段不应被添加在 default_column 中,感谢 @王帅
- 优化:移动 BaseMapper.doPaginate 到 MapperUtil,感谢 @王帅
- 优化:完善 EntitySqlProvider、RowSqlProvider 等的相关 javadoc 内容,感谢 @王帅
- 优化:重构逻辑删除和多租户代码,在必要时其条件应该往前移动 #I7IVCR:租户条件应该拼接到第一个条件而不是在最后
- 优化:移除 RowSqlProvider 不必要的重复的方法
- 修复:执行 updateByQuery() 未调用 Entity 的 OnUpdate 监听的问题 #I7JDJ2:建议updateByQuery 方法也执行 invokeOnUpdateListener 监听器
- 修复:QueryWrapper 在构建
属性.in(select from...)
时出错的问题 - 文档:补充增删改查新添加的 BaseMapper 的相关方法
进一步了解 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
和其他框架对比请参考:
- 1、和
MyBatis-Plus
、Fluent-Mybatis
【功能】方面的对比:https://mybatis-flex.com/zh/intro/comparison.html - 2、和
MyBatis-Plus
【性能】方面的对比:https://mybatis-flex.com/zh/intro/benchmark.html
视频教程:

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Simple Admin - Go 语言分布式后台管理系统 v1.0.13 发布
Simple Admin Tools v1.5.12 更新 修复: 新建项目时缺少ent feature 参数 bug 优化: 优化 makefile 生成 优化: 优化 api 的默认超时配置 新增: mcms 环境变量及接口信息 新增: goctls info env 新增 -l 参数 优化: 合并最新代码 Simple Admin Core v1.0.13 更新 新增: api group 国际化翻译 新增: 邮箱及短信获取验证码及重置密码接口 优化: 更新 all in one 配置 Simple Admin Message Center v1.0.13 更新 新增: 邮箱发送支持 新增: 短信发送支持,暂只支持腾讯云短信 Simple Admin Backend UI v1.0.13 更新 新增: 新增重置密码页面,支持邮箱短信重置 优化: 验证码获取api Simple Admin Common v1.0.13 更新 新增: pointy.GetSlicePointer 用于将 slice 内部转换为指针 更新预览 新增重置密码页面,支持邮箱及短信重置
- 下一篇
SunnyUI 新版 V3.4.0 发布啦,C# WinForm 开源控件库
帮助文档:https://gitee.com/yhuse/SunnyUI/wikis/pages Gitee:https://gitee.com/yhuse/SunnyUI GitHub:https://github.com/yhuse/SunnyUI Nuget:https://www.nuget.org/packages/SunnyUI/ Blog:https://www.cnblogs.com/yhuse SunnyUI.Net 是基于.Net Framework 4.0~4.8、.Net 6 框架的 C# WinForm 开源控件库、工具类库、扩展类库、多页面开发框架。 此版本更新内容为: + 增加 * 修改 - 删除 2023-07-09 V3.4.0 + UITurnSwitch: 增加旋转开关 + ScanerHook: 增加扫码枪键盘钩子类 * UITurnSwitch: 调整配色,增加自定义角度 * UIniFile: 将文件版本和文件编码写入文件头部 * UITextBox: 增加Enabled为false时,可修改文字颜色 * UIDropControl: 增加了...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- CentOS关闭SELinux安全模块
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8