MybatisPlus好用吗?来自小白的提问

2023-11-29 12:00:35 浏览数 (2153)
MybatisPlus 真的好用吗?这是一个很多 Java 程序员可能会问的问题。MybatisPlus 是一个基于 Mybatis 的增强工具,它在 Mybatis 的基础上提供了很多便利的功能,比如代码生成、自动分页、逻辑删除、自动填充等。它的目标是为简化开发、提高效率而生,让程序员可以用更少的代码实现更多的功能。那么,MybatisPlus 真的能够达到这个目标吗?我们来看看它的优缺点。

MybatisPlus优点

  • 无侵入性:它只做增强不做改变,引入它不会对现有工程产生影响,可以和 Mybatis 平滑地结合使用。
  • 强大的 CRUD 操作:它内置了通用的 Mapper 和 Service,只需简单配置就可以实现单表的大部分 CRUD 操作,而且支持 Lambda 表达式和强大的条件构造器,可以方便地编写各种查询条件,无需再担心字段写错。
  • 支持主键自动生成:它支持多种主键策略,包括分布式唯一 ID 生成器,可以自由配置,完美解决主键问题。
  • 支持 ActiveRecord 模式:它支持 ActiveRecord 形式调用,实体类只需继承 Model 类就可以进行 CRUD 操作,无需再写 Mapper 和 Service。
  • 支持自定义全局通用操作:它支持全局通用方法注入,可以在 Mapper 和 Service 层添加自定义的方法,实现一次编写,多处使用。
  • 内置代码生成器:它提供了代码生成器,可以通过代码或者 Maven 插件快速生成 Mapper、Model、Service、Controller 层的代码,支持模板引擎,可以自定义配置。
  • 内置分页插件:它提供了分页插件,基于 Mybatis 的物理分页,开发者无需关心具体操作,只需写分页查询就可以实现分页功能,而且支持多种数据库。
  • 内置性能分析插件:它提供了性能分析插件,可以输出 SQL 语句以及其执行时间,建议开发测试时启用该功能,可以快速发现慢查询。
  • 内置全局拦截插件:它提供了全局拦截插件,可以提供全表 delete 和 update 的智能分析阻断,也可以自定义拦截规则,预防误操作。
  • 支持多种数据库:它支持任何能使用 Mybatis 进行 CRUD,并且支持标准 SQL 的数据库,包括 MySQL、Oracle、DB2、H2、HSQL、SQLite、PostgreSQL、SQLServer 等多种数据库。

Snipaste_2023-11-29_11-58-49

MybatisPlus缺点

  • 学习成本:虽然它提供了很多便利的功能,但是也需要学习它的使用方法和规范,比如配置、注解、方法名等,如果不熟悉,可能会出现一些问题或者误用。
  • 依赖性:它是基于 Mybatis 的增强工具,如果 Mybatis 出现了问题或者升级了版本,可能会影响到它的正常使用,需要及时跟进和更新。
  • 封装性:它封装了很多通用的操作,但是也可能导致一些特殊的需求无法满足,比如复杂的联表查询、存储过程、触发器等,可能需要自己写 SQL 语句或者使用原生的 Mybatis 方法。

总结

综上所述,MybatisPlus 是一个非常好用的工具,它可以大大简化开发,提高效率,让程序员可以专注于业务逻辑,而不是 SQL 语句。当然,它也有一些缺点,需要开发者根据自己的实际情况和需求,合理地使用和选择。如果你想了解更多关于 MybatisPlus 的信息,你可以访问它的官网或者查看编程狮的MybatisPlus教程

1698630578111788

如果你对Java工程师职业和编程技术感兴趣,不妨访问编程狮官网(https://www.w3cschool.cn/)。编程狮官网提供了大量的技术文章、编程教程和资源,涵盖了Java工程师、编程、职业规划等多个领域的知识。无论你是初学者还是有经验的开发者,编程狮官网都为你提供了有用的信息和资源,助你在编程领域取得成功。不要错过这个宝贵的学习机会!