简述Hibernate 和 JDBC 的区别,优缺点
若以下回答无法解决问题,邀请你更新回答
2个回答
展开全部
Hibernate的底层还是jdbc,只不过额外封装了很多东西而已。
1、内存消耗:JDBC的架构省内存的,Hibernate的架构次之
2、运行效率:
如果JDBC的代码写的非常优化,那么JDBC架构运行效率最高,但是实际项目中,这一点几乎做不到,这需要程序员非常精通JDBC,运用Batch语
句,调整PreapredStatement的Batch Size和Fetch
Size等参数,以及在必要的情况下采用结果集cache等等。而一般情况下程序员是做不到这一点的。因此Hibernate架构表现出最快的运行效率。
3、开发效率:在有JBuilder的支持下以及简单的项目JDBC比Hibernate高。但是在大的项目,特别是持久层关系映射很复杂的情况下,Hibernate效率高的惊人,JDBC次之
1、内存消耗:JDBC的架构省内存的,Hibernate的架构次之
2、运行效率:
如果JDBC的代码写的非常优化,那么JDBC架构运行效率最高,但是实际项目中,这一点几乎做不到,这需要程序员非常精通JDBC,运用Batch语
句,调整PreapredStatement的Batch Size和Fetch
Size等参数,以及在必要的情况下采用结果集cache等等。而一般情况下程序员是做不到这一点的。因此Hibernate架构表现出最快的运行效率。
3、开发效率:在有JBuilder的支持下以及简单的项目JDBC比Hibernate高。但是在大的项目,特别是持久层关系映射很复杂的情况下,Hibernate效率高的惊人,JDBC次之
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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)对性能的影响有多大)。
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)对性能的影响有多大)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询