jdbc与hibernate的优缺点比较

说具体点。。说一两句的删
2024-12-02 02:22:18
推荐回答(6个)
回答1:

关于这个问题网上讨论的很多,多查查其实也大概清楚了。
我说点自己的体会吧
其实刚开始用hibernate时,也没觉得有多方便,感觉配置好复杂,什么状态、关联、缓存搞不清,而且复杂的查询很难实现。开发起来缩手缩脚,如履薄冰,觉得没有jdbc来的灵活,随心所欲。
hibernate用多了之后再使用jdbc,感觉jdbc好烦,老是要对应你数据库中的字段和程序中的实体。比如查询操作,hibernate中一句load(class,id) 就好了,而jdbc一直写rs.get(“你数据库字段名") ,你要一直对照数据库。hibernate的开发效率确实要高很多。
还有一点感触,jdbc和数据库耦合太高,要换数据库的话,代价大。
不知道你具体要了解些什么,希望对你有所帮助。

回答2:

hibernate封装了轻量级的Jdbc组件,hql语句是面向对象的比较简单,
Jdbc操纵的是变量,是瞬时的和数据库的值不一致,Hibernate操纵的是对象,对象的值和数据库的值保持一致
hibernate 在表多的时候,表与表之间的关系比较复杂,不易操作

回答3:

JDBC灵活,但是不自动化,hibernate全自动化,你只要配置,hibernate自动生成sql语句!

回答4:

简单来说,hibernate更好体现了面向对象的特点

回答5:

很实在,你看了你写得jdbc代码后,再看看你的hibernate代码 然后试着去想想 我用谁比较给力呢 。答案就出来了

回答6:

hibernate的特点 : 解决了直接用JDBC操作数据库的烦琐操作。屏蔽了各种数据库的实现细节。
JDBC执行效率会比Hibernate高些。
Hibernate和Mybatis它们的编码复杂度为O(n),也就是说每操作一个DB的表,就要写一次dao。一个十分钟即可学会的ORM框架--Bee , 编码复杂度是O(1),不用重复编写代码。
1) 编码复杂度C(n)=O(n),即会随实体的增长,编码量呈线性增长。当n较大时,会增加许多工作量。
2) 需要写很多的判断字段是否为空(null) ,是否是空字符串的语句;工作重复,乏味。
3)实体Javabean与DB表的map映射文件太多;或者,实体Javabean文件注解用得太泛滥,太多注解难以记忆,增加开发人员负担。
4) Hibernate的概念太复杂,学习成本高,更新会先查询再更新,n+1问题。

一个十分钟即可学会的ORM框架--Bee , 编码复杂度是O(1).
编码复杂度是O(1),就是说ORM框架只写一次就行了,没必要写n次。
(想想数据结构中时间复杂度,空间复杂度从O(n)提升到O(1)对性能的影响有多大)。