Spring Data Jpa与Mybatis的选择

看了会jpa的文档,感觉挺不错的,如果都是增删改和简单查询,那基本就不用写sql,同时数据库也交由jpa管理,省心。
当然jpa也绝对不全是优点,当默认的规范生成sql不能满足我们的业务的时候。mybatis直接写sql更简单,更易实现。而且,我们也可以更好的调整sql以提升性能(sql的调优后,性能成倍提高的)。

那么,他们之间改怎么选择呢

使用 spring data jpa

  • 打算自己维护一个开源项目,但却没时间管理数据库(我在这里,准备使用)
  • 公司的项目是为其他公司服务的,有需要跑在不同数据库上,不追求性能(mybatis也能多数据库,但是你得为不同的数据库写不同的sql)
  • 小项目,需快速完成
  • 报表不多,且对性能要求不高的项目

使用mybatis

  • 公司内部系统,由内部员工开发,同时也有专门的dba把控数据库
  • 对性能要求比较高
  • 报表较多的项目
  • 有很复杂的数据库操作

当然最重要的:对哪个熟悉用哪个

不知道写全没,最后引用一句话:jpa适合领域模型,mybatis适合事务脚本