莫方教程网

专业程序员编程教程与实战案例分享

MyBatis-Flex为什么会有超越Mybatis-Plus的优雅魅力?

与MyBatis-Plus一样MyBatis-Flex也是一个MyBatis的增强框架,它与MyBatis-Plus相比到底有什么优势呢?下面我们就来看看MyBatis-Flex。

MyBatis-Flex优势

更加轻量级

MyBatis-Flex除了MyBatis依赖之外几乎在没有其他的第三方依赖,因此在使用的时候直接引入即可,具有更高的自主性以及稳定性。

更加灵活

MyBatis-Flex提供了非常灵活的查询代理QueryWapper,并且支持多种查询方式,支持乐观锁、数据脱敏、数据填充等操作。

更高性能

MyBatis-Flex 通过其独有的架构方式,不需要任何MyBatis拦截器来进行增强,并且在SQL执行的过程中也没有多余的处理,所以整个操作几乎没有其他性能损耗。

MyBatis-Flex与MyBatis-Plus的比较

除了与MyBatis-Plus相同的功能之外,MyBatis-Flex还提供了如下的一些功能

  • MyBatis-Flex支持多表查询,支持from的多表查询,支持了通过left join、inner join等方式进行链表查询,支持通过union、union all 进行的联表查询操作
  • MyBatis-Flex提供了一对一查询、一对多查询、多对一查询以及多对多查询。
  • MyBatis-Flex支持了多主键、复合主键操作
  • MyBatis-Flex提供的QueryWapper可以在微服务的情况下支持RPC操作
  • MyBatis-Flex 提供了数据脱敏、字段鉴权、字段加密以及字典回写等功能,并且这些功能在MyBatis-Plus中是收费功能。
  • MyBatis-Flex 自己就支持了多数据源的操作,而MyBatis-Plus则是需要第三方框架才可以。
  • MyBatis-Flex 多数据源之间还支持事务操作,可以利用@Transactional注解来开启事务操作。
  • MyBatis-Flex 还支持了动态动态的Schema操作。

当然除了这些MyBatis-Flex有异于MyBatis-Plus的内容之外其他的基本上二者是相似的,不过。从SQL的执行效率上来讲,MyBatis-Flex与MyBatis-Plus的差距还是有非常大的

  • 在单条数据查询速度方面,MyBatis-Flex要比MyBatis-Plus快5~10倍左右
  • 在分页查询速度方面大概也要比MyBatis-Plus快5~10倍
  • 在数据更新方面的速度要比MyBatis-Plus快5~10倍+

对于原生的MyBatis的支持

MyBatis-Flex是MyBatis的增强框架,以其极低的侵入代码几乎不会影响到MyBatis的原有功能,并且在MyBatis-Flex中也还保留了对于MyBatis原生注解的的支持。并且支持的效率还都挺高。

例如保留了@Select注解、@Delete注解、@Update注解、@Insert注解,并且在此注解的基础上增加了@InsertProvider注解、@DeleteProvider注解、@UpdateProvider注解、@SelectProvider注解并且这些新增的注解与原生 MyBatis注解用法是一样的。

保留了通过XML映射文件来编写SQL语句的功能,只需要在使用之前告诉Mapper.xml文件的映射路径。

mybatis-flex:
  mapper-locations:
    - classpath*:/mapper/*.xml

并且MyBatis-Flex在基于XML的基础上提供了XML分页解决方案。方便用户在使用XML的时候对数据采用分页形式进行查询操作。

MyBatis-Flex支持的数据库类型

MyBatis-Flex几乎支持所有的主流的数据库,包括MySQL、Oracle、DB2、H2、PostGreSql、Doris、HiveSQL、sqllite等

总结

上面我们介绍了MyBatis-Flex,以及MyBatis-Flex比MyBatis-Plus更有优势的地方,并且知道在MyBatis-Flex还提供了很多开源免费的实用功能,真的是不用在担心数据安全问题了。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言

    滇ICP备2024046894号-1