整体概述
总的来说MyBatis 是一个半自动的 ORM 框架,需要手动编写 SQL,强调灵活性与控制力;而 MyBatis-Plus 是 MyBatis 的增强工具,在完全兼容 MyBatis 的基础上,提供了大量开箱即用的功能(如通用 CRUD、条件构造器、分页插件等),旨在显著提升开发效率,尤其适合单表操作和快速开发场景。
工具对比:
| 特性 | MyBatis | MyBatis-Plus |
|---|---|---|
| 核心定位 | 半自动化 ORM,专注 SQL 映射 | MyBatis 增强版,主打「无 CRUD SQL」 |
| 通用 CRUD操作 | 需手动编写 SQL(注解 / XML) | 内置 BaseMapper,一键实现增删改查 |
| 条件构造器 | 无,需手动拼接 WHERE 条件 | 提供 QueryWrapper/LambdaQueryWrapper,优雅拼接条件 |
| 分页功能 | 需手动配置分页插件 + 编写分页 | SQL 内置分页插件,一行代码实现分页 |
| 代码生成器 | 无(需借助第三方插件) | 内置代码生成器,一键生成 Entity/Mapper/Service/Controller |
| 逻辑删除 | 需手动编写逻辑(UPDATE 代替 DELETE) | 注解配置,自动实现逻辑删除 |
| 乐观锁 | 需手动编写版本号逻辑 | 注解配置,自动实现乐观锁 |
选型建议
优先选 MyBatis-Plus(开发效率更高),遇到复杂 SQL 时,仍可像原生 MyBatis 一样手动编写,兼顾效率与灵活性