1. 功能
Mybatis:
- 只提供最基础的CRUD功能和SQL映射。
Mybatis Plus:
- 在此基础上提供了更多高级特性:
- 分页
- Lambda查询
- 自动填充
- 多表操作
- 自动ID生成器
- 缓存
- 逻辑删除等等
2. 使用难易度
Mybatis:
- 对新手来说难度稍大,需要学习XML配置和SQL映射。
Mybatis Plus:
- 通过隐藏SQL,使用简单的Java API,降低了使用难度。
3. 侵入性
Mybatis:
- 对代码改动较少,主要在XML配置和接口层。
Mybatis Plus:
- 必须改写部分数据层代码,使用 Wrapper 对象。
4. 性能
Mybatis:
- 性能较好,直接编写SQL。
Mybatis Plus:
- 性能会差一些,因为加入了分页逻辑、自动ID生成等。
总结就是,Mybatis Plus相比Mybatis:
- 提供了更多便捷功能
- 使用难度降低了
- 但侵入性更强
- 性能会略差
Mybatis Plus可以作为Mybatis的扩展使用,当需要复杂CRUD时可以降低使用难度。而对于简单需求,直接使用Mybatis可以获得最佳性能。