您现在的位置是:首页 > 文章详情

MyBatis-Flex v1.5.7 发布,一个优雅的 MyBatis 增强框架

日期:2023-08-21点击:76

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 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
  • 优化:设置乐观锁未设置值的异常信息国际化
  • 优化:设置 @<table> 的名称配置支持 "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 框架,请参考一下链接:

 

bilibili 视频教程(免费):

原文链接:https://www.oschina.net/news/254586/mybatis-flex-1-5-7-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章