为什么好多互联网、微服务选择Mybatis而不选择springjdbc

imindoor 发布于 2018/02/22 13:35
阅读 5K+
收藏 0

这个问题之前便有疑惑,今天突然又想起。两种我都用过,但是只是粗浅的,因为只是项目需要,自己没有很深的研究,所以只能说说一些粗浅的看法:

1.两种方式都是比较便于sql调优

2.两种都比较灵活,有些特殊时候我觉得springjdbc比mybatis更加灵活一些

3.效率上要比orm老大哥hibernate要高一点点(但是这不是主要的)

但是为什么很多快速发开平台的作者更多的选择使用jpa或者是mybatis,而不选择使用springjdbc,是有什么原因还是个人喜好,希望各位大佬回答解惑。

以下是问题补充:

@imindoor:这个帖子其实可以结了,昨天我突发奇想想到了这个问题,其实我忘了之前我用springjdbc是对其一些常用方法封装了,所以table和实体或者MAP映射都不用手动操作,经过3楼的提醒想起来了,如果直接用springjdbc提供的方法相比之下还是用mybatis更方便些个人觉得 (2018/02/23 16:49)
加载中
0
Acce1erator
Acce1erator

spring jdbc抽象曾侧感觉低一些 自己还要写不少代码 mybatis用注解方式的话直接在方法上写sql一个接口几分钟的事情 改起来也方便

imindoor
imindoor
了解了,您的意思是springjdbc和mybatis注解开发相比,在开发方面的效率略低一些
0
MUJO
MUJO

hibernate 复杂查询处理起来麻烦些

springjdbc 没用过,感觉陌生

mybatis 对象操作,复杂查询都适合

0
f
freezingsky

能用JPA(Hibernate)优先使用,复杂操作用Native。理由:我懒!

0
o
osHello
我也好奇 既然用了spring 干嘛不用它的jdbc 还另外再加个mybatis
imindoor
imindoor
可以看看楼上的几个回答
0
沧海_Sea
沧海_Sea

spring jdbc 没有解决组装 sql 的问题啊

沧海_Sea
沧海_Sea
回复 @imindoor : 如果java字符串支持换行,配合模版引擎也可以 用if else 有点乱 不好维护
imindoor
imindoor
@沧海_Sea 回复@沧海_Sea : 其实差不多的 也能用if else for循环拼接 并且有的时候直接用java代码处理更统一一些,比如有些复杂的IN()查询
沧海_Sea
沧海_Sea
回复 @imindoor : 对呀
imindoor
imindoor
您指的组装是指啥 比如mybatis<if><foreach>这些功能么
0
francis-x
francis-x

Mybatis优点是管理SQL方便,复杂的SQL都能处理。

0
XiaoHuo-
XiaoHuo-
我是非常喜欢Springjdbc的
0
panmingguang
panmingguang

spring jdbc 优于 mybatis, 至于为什么用 mybatis 不用 jdbc 最主要的原因是 网上 很多 开源框架 集成好的 都是 mybatis, 就这么回事, spring+mybatis

0
Kit_lee
Kit_lee

用spring-data-jpa,不太了解楼主所说的spring jdbc,在spring.io上也找不到相关文档,只有spring-data-jdbc,然而也是没有文档在上边了。在orm这一块,spring不是将所有都归到spring-data这块项目上了吗?

M
Mr_z_qq
Spring jdbc是对jdbc的大量模板代码的封装,用的最多的核心类就是JdbcTemplate,相比于jdbc,操作更加方便,开发人员只需编写SQL和数据库对象映射就行了.
0
ZhouYanchao
ZhouYanchao

根据自己使用的经验来看,从自动化程度比较,从低到高:jdbc>springjdbc>mybatis>hibernate,可以理解为自动化程度越高,就越倾向于纯orm,springjdbc其实跟纯jdbc比只是多封装了一部分而已,很多的细节还需要开发人员自己实现的,所以,我很少用。

返回顶部
顶部