导读 |
MyBatis-Flex v1.5.7 发布,一个优雅的 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.8 发布啦,在 v1.5.8 中,我们可以通过 setRaw 来插入数据了,比如:
@Test
public void testInsertWithRaw() {
Account account = new Account();
account.setUserName("michael");
Account newAccount = UpdateWrapper.of(account)
.setRaw(Account::getBirthday, "now()")
.toEntity();
accountMapper.insert(newAccount);
}
其执行的 SQL 如下:
INSERT INTO `tb_account`(`user_name`, `birthday`)
VALUES (?, now())
或者复杂一点的:
@Test
public void testInsertWithRaw() {
Account account = new Account();
account.setUserName("michael");
Account newAccount = UpdateWrapper.of(account)
.setRaw(Account::getBirthday, "(select xxx from ...)")
.toEntity();
accountMapper.insert(newAccount);
}
其执行的 SQL 如下:
INSERT INTO `tb_account`(`user_name`, `birthday`)
VALUES (?, (select xxx from ...))
MyBatis-Flex v1.5.8 更新细节如下:
新增:Row 以及 Entity 在新增时,添加 setRaw 的支持
新增:数据库方言添加对 lealone 数据库的支持,感谢 @chgz
新增:QueryChain 添加新 of 方法,用于支持通过 Entity 创建 QueryChain 对象,感谢 @liibang
新增:提供多线程情况下子父线程获取切换数据源功能,感谢 @life
优化:设置乐观锁未设置值的异常信息国际化
优化:设置 @
的名称配置支持 "schema.tableName" 配置
优化:重构移除乐观锁、逻辑删除、多租户的全局默认字段配置,用户需手动配置生效
优化:添加逻辑删除、乐观锁、多租户的全局配置的 spring 配置文件提示功能
优化:重构用户手写的条件中是否包含该表,感谢 @王帅
优化:重构获取 join 连表信息时携带别名,感谢 @王帅
优化:重构 QueryWrapper 的括号生成,以动态添加子 where 条件,感谢 @王帅
优化:添加 Conditional 接口用于统一 Condition 的 api,感谢 @王帅
修复:druid 数据源的某些场景下,数据加密无法使用的问题
修复:修复 MybatisKeyGeneratorUtil 类在某些情况下可能得空指针异常问题,感谢 @norkts
修复:SqlOperator 遗漏了 NOT_EQUALS 操作符 的问题,感谢 @王帅
修复:Relation 注解查询,忽略字段使用的泛型错误的问题,感谢 @王帅
修复:DbChain 的 setRaw 方法指向错误的问题,感谢 @王帅
文档:添加 set 和 setRaw 区别的相关文档
文档:修改代码生成器的相关文档错别字,感谢 @她出去赚钱了
文档:改正了注解处理器中的内容,将其修改为正确的注解处理器,感谢 @CloudPlayer
文档:优化 Gradle 和 KAPT 的相关文档,感谢 @王帅
文档:添加乐观锁、逻辑删除、多租户的全局配置的相关文档,感谢 @王帅
文档:添加多线程情况下子父线程获取切换数据源功能的相关文档,感谢 @life
当前版本得以发布,感谢以下 8 位同学的 PR,他们分别是:
@王帅、@life、@CloudPlayer、@卡莫 sama、@chgz、@liibang、@norkts、@她出去赚钱了
进一步了解 MyBatis-Flex 框架,请参考一下链接:
快速开始://mybatis-flex.com/zh/intro/getting-started.html
多表关联查询://mybatis-flex.com/zh/base/query.html
一对多、多对一://mybatis-flex.com/zh/base/relations-query.html
灵活的 QueryWrapper://mybatis-flex.com/zh/base/querywrapper.html
逻辑删除://mybatis-flex.com/zh/core/logic-delete.html
乐观锁://mybatis-flex.com/zh/core/version.html
数据填充://mybatis-flex.com/zh/core/fill.html
数据脱敏://mybatis-flex.com/zh/core/mask.html
SQL 审计://mybatis-flex.com/zh/core/audit.html
多数据源://mybatis-flex.com/zh/core/multi-datasource.html
数据源加密://mybatis-flex.com/zh/core/datasource-encryption.html
动态表名://mybatis-flex.com/zh/core/dynamic-table.html
事务管理://mybatis-flex.com/zh/core/tx.html
数据权限://mybatis-flex.com/zh/core/data-permission.html
字段权限://mybatis-flex.com/zh/core/columns-permission.html
字段加密://mybatis-flex.com/zh/core/columns-encrypt.html
字典回写://mybatis-flex.com/zh/core/columns-dict.html
枚举属性://mybatis-flex.com/zh/core/enum-property.html
多租户://mybatis-flex.com/zh/core/multi-tenancy.html
代码生成器://mybatis-flex.com/zh/others/codegen.html
QQ 交流群://mybatis-flex.com/zh/intro/qq-group.html
更好用的功能正在路上://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)
MyBatis-Flex 视频教程 - 33 关联查询(Field Query)
MyBatis-Flex 视频教程 - 34 关联查询(Relation Query)
MyBatis-Flex 视频教程 - 35 关联查询对比
MyBatis-Flex 视频教程 - 36 分页查询
MyBatis-Flex 视频教程 - 37 分页查询 count 查询优化
MyBatis-Flex 视频教程 - 38 基于 XML 文件的高性能分页
MyBatis-Flex 视频教程 - 39 Db + Row
原文来自:
本文地址://q13zd.cn/mvfb.html编辑:王婷,审核员:清蒸github
Linux大全:
Linux系统大全:
红帽认证RHCE考试心得: