项目选择jpa还是mybatis

项目中对于数据库的操作是必不可少的,现在流行的有很多框架比如mybatis、jpa,对于我们来说到底该选哪个呢?

两者对比

对比 Spring Data JPA Mybatis
学习成本 较高 较低
单表操作 非常方便 较JPA麻烦
多表操作 不太友好 比较友好
自定义SQL 可以使用注解写原生SQL 支持注解以及xml写SQL语句

个人看法

从对比上来说,两者各有优缺点

  • 如果原来项目已经有自己的技术选型,则不要纠结,原来是什么就是什么,没有切换的必要
  • 如果项目本身来说业务逻辑比较简单,那么我推荐直接使用JPA;倘若项目较大,业务比较复杂,可能涉及到报表等业务就选择mybatis
  • 针对于新项目来说,除了考虑第二点,团队技术也需要考虑,如果团队对某个技术更了解,那就使用擅长的一个技术

对于我来说,我更倾向于使用jpa,为什么呢?首先jpa操作数据库可以说非常简单,没有mybatis的xml配置,开发效率真的不是一般的快。

有人可能会说,mybatis性能比JPA好,这个我不认同,有些人写的SQL真不一定比JPA自动生成的SQL效率高,而且大部分业务效率根本感觉不出来,退一步讲,如果你真的这么讲究性能,为什么不直接使用jdbc呢?

也有人可能会说mybatis写复杂的sql非常方便,JPA针对复杂的操作同样可以利用Specification实现,所以不要纠结了,有时候你想半天,别人的产品都已经出来了,你想这些的意义是否还存在?

如果实在遇到使用jpa的项目后期业务变复杂了,难道我们不能使用jpa+jdbc结合吗?

说到底,黑猫白猫,能抓老鼠的就是好猫

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×