个人博客


1、关注度对比

百度指数
-w1277

谷歌指数
-w988

对比百度、谷歌的搜索指数,可以看出在国外JPA比较受欢迎,在国内MyBatis比较受欢迎。

2、优势对比

  1. DAO层开发角度来看,JPA更为简单高效,对于简单的操作甚至连sql都不需要编写,直接调用就能完成数据库的操作。
  2. JPA的数据库移植性更好,因为其采用JPQL方式,和原生sql根本就没有耦合度。但一般情况下公司选定数据库后再变更的可能性微乎其微,所以这个优点可以忽略。
  3. MyBatis更利于编写复杂的sql,擅长多表关联查询、聚合函数等复杂操作。JPA在这方面支持比较弱,我个人感觉JPA能让简单地操作更加简单,但是让复杂的操作也会更麻烦;但话说回来现在越来越微服务化,每个服务的业务比较单一,所以这个对于JPA来说也不是问题。
  4. MyBatis上手容易,尤其是有sql经验的,学习成本会比学习JPA更低些。

参考链接