看了会jpa的文档,感觉挺不错的,如果都是增删改和简单查询,那基本就不用写sql,同时数据库也交由jpa管理,省心。
当然jpa也绝对不全是优点,当默认的规范生成sql不能满足我们的业务的时候。mybatis直接写sql更简单,更易实现。而且,我们也可以更好的调整sql以提升性能(sql的调优后,性能成倍提高的)。
那么,他们之间改怎么选择呢
使用 spring data jpa
- 打算自己维护一个开源项目,但却没时间管理数据库(我在这里,准备使用)
- 公司的项目是为其他公司服务的,有需要跑在不同数据库上,不追求性能(mybatis也能多数据库,但是你得为不同的数据库写不同的sql)
- 小项目,需快速完成
- 报表不多,且对性能要求不高的项目
使用mybatis
- 公司内部系统,由内部员工开发,同时也有专门的dba把控数据库
- 对性能要求比较高
- 报表较多的项目
- 有很复杂的数据库操作
当然最重要的:对哪个熟悉用哪个
不知道写全没,最后引用一句话:jpa适合领域模型,mybatis适合事务脚本