整体概述

总的来说MyBatis 是一个半自动的 ORM 框架,需要手动编写 SQL,强调灵活性与控制力;而 MyBatis-Plus 是 MyBatis 的增强工具,在完全兼容 MyBatis 的基础上,提供了大量开箱即用的功能(如通用 CRUD、条件构造器、分页插件等),旨在显著提升开发效率,尤其适合单表操作和快速开发场景。

工具对比:

特性MyBatisMyBatis-Plus
核心定位半自动化 ORM,专注 SQL 映射MyBatis 增强版,主打「无 CRUD SQL」
通用 CRUD操作需手动编写 SQL(注解 / XML)内置 BaseMapper,一键实现增删改查
条件构造器无,需手动拼接 WHERE 条件提供 QueryWrapper/LambdaQueryWrapper,优雅拼接条件
分页功能需手动配置分页插件 + 编写分页SQL 内置分页插件,一行代码实现分页
代码生成器无(需借助第三方插件)内置代码生成器,一键生成 Entity/Mapper/Service/Controller
逻辑删除需手动编写逻辑(UPDATE 代替 DELETE)注解配置,自动实现逻辑删除
乐观锁需手动编写版本号逻辑注解配置,自动实现乐观锁

选型建议

优先选 MyBatis-Plus(开发效率更高),遇到复杂 SQL 时,仍可像原生 MyBatis 一样手动编写,兼顾效率与灵活性