{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

SpringBoot开发使用Mybatis还是Spring Data JPA?

AlphaWalletAlphaWallet 回答0 收藏1
问题描述:Spring Data JPA项目实战中体验如何
收藏问题

10条回答

DataPipeline

DataPipeline

回答于2022-06-28 14:13

如果让我来说,我推荐你使用sqltoy-orm,增删改和对象加载简单查询jpa模式,查询则比mybatis强无数倍,更加直观简洁,另外具有缓存翻译大幅提升查询性能,还有很多人不敢想象的分页优化级别(很多仅仅优化了count处理就以为很强了,见了sqltoy的分页优化才属于见到了不可想象的事情)!
github上搜索sagacity-sqltoy!

gitee地址:

https://gitee.com/sagacity/sagacity-sqltoy








评论0 赞同0
  •  加载中...
plus2047

plus2047

回答于2022-06-28 14:13

我自己开发的情况下用JPA的比例比mybaits更多,首先我比较讨厌mybaits那种标签和SQL混用的风格,其次是JPA的也是可以使用原生SQL嵌入实习复杂查询的,最后是JPA稳定性比较好

评论0 赞同0
  •  加载中...
JaysonWang

JaysonWang

回答于2022-06-28 14:13

看你团队喜好吧,Mybatis 容易上手,也更加灵活。

JPA 也不错,毕竟属于 Spring 全家桶一部分,像使用对象一样写 SQL 这种体验也蛮好的。

都可以执行原生 SQL。

怎么喜欢怎么来。

不必纠结。

评论0 赞同0
  •  加载中...
CollinPeng

CollinPeng

回答于2022-06-28 14:13

都可以吧,mybatis我更多用来写报表统计,或者复杂的关联查询。如果架构是微服务,并且通过业务解耦来避免了频繁的事务,用spring data是非常好的选择[呲牙]最后,为什么非要二选一呢?看看mybatis plus吧,成功的糅合了mybatis的灵活与jpa的快捷,还有代码生成器,非常建议题主去试试!

评论0 赞同0
  •  加载中...
lanffy

lanffy

回答于2022-06-28 14:13

小项目JPA 大项目上mybatis +mybatis-plus 灵活

评论0 赞同0
  •  加载中...
fxp

fxp

回答于2022-06-28 14:13

大型项目用Mybatis,例如多表关联查询等,灵活。小型项目JPA,不需要写SQL,操作对象即可。

评论0 赞同0
  •  加载中...
i_garfileo

i_garfileo

回答于2022-06-28 14:13

技术选型需要结合多方面来考虑,这里我试着列举一些方面,仅供参考。

是否需要兼容多种数据库。如果需要兼容,优先考虑spring data jpa。因为mybatis想要兼容数据库需要写多套sql脚本,工作量很大。

开发团队的经验。开发团队成员过往开发中,对哪个orm框架更熟悉。一般来说,mybatis上手比较容易,jpa/hibernate虽然不用写sql语句,但是配置复杂,各个状态转换难以理解,出现错误也难以调试,对开发人员能力要求较高。

性能考虑。作为orm框架,jpa/hibernate需要把数据库行完全映射成java对象,占用内存较大,特别是进行关键查询的情况下。当然,这可以通过懒加载、查询指定字段等方式优化,但是和上面一样,对人员要求较高。另外hibernate生成的sql语句可读性也较差,不利于检查问题。

其他杂项考虑。jpa对逻辑删除支持较差; mybatis编写ResultMap过于繁琐等等。

总结一下,spring data jpa开发效率高,代码量少,但是代价是学习成本和优化成本比较高。mybatis代码量大一些,不好兼容多种数据库,但是手动编写sql相对灵活,上手简单。

评论0 赞同0
  •  加载中...
Kylin_Mountain

Kylin_Mountain

回答于2022-06-28 14:13

只有小孩子才做选择,我全都要[呲牙]

评论0 赞同0
  •  加载中...
mylxsw

mylxsw

回答于2022-06-28 14:13

如果做的是管理类型的系统特别是动态查询复杂的, mybatis 比较好些,其他推荐用Spring data jpa

评论0 赞同0
  •  加载中...
netScorpion

netScorpion

回答于2022-06-28 14:13

mybatis-plus

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<