【MyBatis Plus】MyBatis Plus和Mybatis有什么区别?

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可以获得最佳性能。