导读 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 框架,请参考一下链接:

  • 快速开始:https://mybatis-flex.com/zh/intro/getting-started.html
  • 多表关联查询:https://mybatis-flex.com/zh/base/query.html
  • 一对多、多对一:https://mybatis-flex.com/zh/base/relations-query.html
  • 灵活的 QueryWrapper:https://mybatis-flex.com/zh/base/querywrapper.html
  • 逻辑删除:https://mybatis-flex.com/zh/core/logic-delete.html
  • 乐观锁:https://mybatis-flex.com/zh/core/version.html
  • 数据填充:https://mybatis-flex.com/zh/core/fill.html
  • 数据脱敏:https://mybatis-flex.com/zh/core/mask.html
  • SQL 审计:https://mybatis-flex.com/zh/core/audit.html
  • 多数据源:https://mybatis-flex.com/zh/core/multi-datasource.html
  • 数据源加密:https://mybatis-flex.com/zh/core/datasource-encryption.html
  • 动态表名:https://mybatis-flex.com/zh/core/dynamic-table.html
  • 事务管理:https://mybatis-flex.com/zh/core/tx.html
  • 数据权限:https://mybatis-flex.com/zh/core/data-permission.html
  • 字段权限:https://mybatis-flex.com/zh/core/columns-permission.html
  • 字段加密:https://mybatis-flex.com/zh/core/columns-encrypt.html
  • 字典回写:https://mybatis-flex.com/zh/core/columns-dict.html
  • 枚举属性:https://mybatis-flex.com/zh/core/enum-property.html
  • 多租户:https://mybatis-flex.com/zh/core/multi-tenancy.html
  • 代码生成器:https://mybatis-flex.com/zh/others/codegen.html
  • QQ 交流群:https://mybatis-flex.com/zh/intro/qq-group.html
  • 更好用的功能正在路上: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)
  • 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
  • 原文来自:https://www.oschina.net/news/254586/mybatis-flex-1-5-7-released

    本文地址:https://www.linuxprobe.com/mvfb.html编辑:王婷,审核员:清蒸github

    Linux命令大全:https://www.linuxcool.com/

    Linux系统大全:https://www.linuxdown.com/

    红帽认证RHCE考试心得:https://www.rhce.net/