SpringBoot中Mybatis跟Spring Data JPA区别在哪?

我觉得为啥这么多人都说Mybatis好,原因最主要是Mybatis容易上手,现在学编程学数据库基本都学过SQL,Mybatis面向DB基于SQL的模式相对来说就显得特别直观友好。

而JPA是基于ORM的,把代码和DB分离,相当于在代码和DB之间增加了一个新的层面,一套新的标准,去间接操作DB,相对SQL的模式来说就显得不够直接和易于控制,增加了学习成本,碰到这样那样问题的时候,很容易让人放弃。

特别是在团队开发的时候,你很难掌控每个人对JPA的深层机制的理解程度,为了避免木桶效应,还不如干脆都用Mybatis。其实这两者就功能的角度来说,肯定是相互学习借鉴的,Spring Data JPA也可以执行原生SQL,存储过程,Mybatis也有一部分ORM特性,选择Spring Data JPA还是选择Mybatis都不会影响到最终业务逻辑的实现。不影响业务实现的前提下,选型主要就是选择开发和维护时的效率了。

这方面的话我觉得在开发阶段频繁修改表结构时Mybatis不如Spring Data JPA或者说Hibernate的正向工程方便快捷,再考虑和spring全家桶的版本兼容性,我们团队最终选了Spring Data JPA。

我们团队早期一些项目使用的是 MyBatis,后续所有项目都换用 Spring Data JPA 了。因为在早期使用 Spring Data JPA 时,就解决掉了它最大的痛点,也就是大家经常说的不能应对复杂业务场景、不便于写复杂动态 SQL 的问题。

我写了一个 Spring Data JPA 扩展库

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值