jdbc、hibernate、ibatis的区别?

jdbc、hibernate、ibatis的区别?... jdbc、hibernate、ibatis的区别? 展开
 我来答
一眼万万年_
2012-12-06 · TA获得超过1355个赞
知道小有建树答主
回答量:310
采纳率:0%
帮助的人:169万
展开全部
JDBC是由Sun公司制定的一套访问数据库的规范,除了DriverManager外,其他的全是接口,接口的具体实现由数据库厂商去实现(所以用JDBC需要添加数据库驱动包,驱动包里面的类就是JDBC规范那些接口的实现类),这样,程序员用JDBC操作所有实现这个规范的数据库都是一样的方法,只是针对不同的数据库sql可能不同。
Hibernate的底层是由JDBC去实现的,是对JDBC的封装,用hibernate的HQL语句,就可以不用考虑数据库之间的差异,因为hibernate会根据配置文件里面的dialect(数据库方言)和ORM配置文件把HQL语句翻译成能适应当前数据库的sql语句,然后从底层用JDBC去执行(增加了上层的处理,所以效率比JDBC慢),并根据映射文件把相应字段的结果封装到对象的相应属性中。
ibatis也是一个持久层框架,也是对JDBC的封装,但是效率比hibernate略高,因为ibatis不是用框架去生成相应的sql,而是由程序员自己写sql,然后底层的JDBC去执行,并通过映射文件,将SQL所需的参数,以及返回的结果字段映射到指定 PO类,因为少了类似hibernate把HQL翻译成SQL的过程,所以ibatis效率比hibernate更高。
在大型的项目中,尤其是大数据量的地方,一般都不用hibernate,因为用hibernate是以牺牲效率为代价的(尤其是大批量处理的时候尤为明显),最近我做了一个大批量处理几百万条数据的功能,我直接绕过公司框架的API,直接从底层用JDBC去做,效率高了不少。
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
幽冥神者
推荐于2016-08-07 · TA获得超过3213个赞
知道大有可为答主
回答量:1953
采纳率:50%
帮助的人:1761万
展开全部
jdbc是一套数据库访问标准,提供了一组接口,是JAVA语言访问数据库用到的东西
hibernate是一套ORM映射框架,提供以对象的方式访问数据,但底层还是要把对象映射为JDBC来访问的。
ibatis也是一套数据库访问框架,但它是把SQL语句给抽出来了,这样将来改语句的时候不用修改代码,底层也是JDBC
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-09-05
展开全部
jdbc 一切都在你的掌握中
hibernate ORM 框架, 用起来容易; 让你用 对象的方式思考问题
ibatis 也是 ORM 框架,但是对应的 SQL 语句要你自己定义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
toto71229
2011-09-02 · TA获得超过808个赞
知道小有建树答主
回答量:513
采纳率:0%
帮助的人:463万
展开全部
全手动、自动化、半自动化
jdbc什么都要自己弄,代码很多,sql语句自己写
Hibernate等提供了全面的数据库封装机制的“全自动化”ORM 实现而言,“全自动”ORM 实现了 POJO 和数据库表之间的映射,以及 SQL 的自动生成和执行。
ibatis 对业务逻辑实现人员而言,面对的是纯粹的 Java对象,这一层与通过 Hibernate 实现 ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的 SQL 语句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式