hibernate jdbc

转载 2016年05月31日 13:15:41
首先你这个问题说法就不对,Hibernate强悍就不要JDBC这句话是存在问题的,因为Hibernate就是对JDBC进行的封装。
     JDBC的全城叫做Java Data Base Connectivity(java数据库连接),是一组由Sun公司提供的Java操作数据库的API,然后由各个数据库厂商进行了实现,这样我们就能通过相应的驱动包进行各种数据库的连接操作。Hibernate就是基于JDBC的这个一个持久层框架。那么为何要有Hibernate呢?Hibernate又为何而来呢?这要从我们本身Java这门语言说起,Java语言从出生开始就被定位为一种面向对象的语言,Java视一切皆对象,而我们目前大多数的数据库为关系型数据库,数据是通过表与表之间的关系进行联系,当我们使用JDBC操作关系型数据库的时候我们不得不去考虑关系型问题,这样就违背了我们Java这门语言的面向对象观点,于是Hibernate出现了,Hibernate就是为了隔绝对象和关系型数据库之间的这一层别扭(姑且这么叫吧),这样,我们站在Hibernate的角度我们只需要考虑对象的操作,比如说保存一个对象只需要调用session的save方法,而不需要写一条insert into的SQL语句去操作关系型的表,从而达到OO的思想。这样我们就纯面向对象了,那些非面向对象的事情都交由Hibernate去做了,Hibernate会帮我们生成一条insert into语句去发送给数据库。
    既然Hibernate如此的好,那么当Hibernate出现后我们还需要JDBC吗?上面我讲了,不是我们不要JDBC了,而是Hibernate帮我们去操作了JDBC,既然Hibernate在操作JDBC我们在操作Hibernate,这样Hibernate就充当了一个中间人的角色,我们想要什么东西须得交给Hibernate,然后再由Hibernate交给JDBC,这样就会多一层去操作,对性能会有一定的影响,如果你的程序对性能要求非常高,那么自己操作JDBC自然要比Hibernate速度更快、效率更高。
    在批量处理问题上,Hibernate并没有提供较完美的实现,比如说你要修改1万个对象的某一个属性,通过Hibernate操作你得先加载这1万个对象,然后修改这1万个对象的属性,然后再保存这一万个对象,而JDBC我们可以update xxx set x = x where x = x就可以实现。
    看完我的回复之后你觉得“Hibernate如此强大,还需要JDBC么?”这还是一个问题么?
况且一些复杂的sql,hibernate是不支持 ,这时候只能老老实实的写sql语句了


java的应用范围很广,大部分公司都会用到ssh、ssi、javascript(jquery、extjs)等一些框架,一些公司也会在此基础上封装一些自己的东西,做成自己的框架。
java开发主要是bs,做网站(广域网、局域网)之类的东西,客户端程序相对来说较少

Java Dao JDBC Hibernate XMLmapping 代码

  • 2012年04月30日 20:35
  • 17KB
  • 下载

Hibernate的批量插入(&&JDBC)

一、批量插入(两种方式) 1,通过Hibernate缓存 如果这样写代码进行批量插入(初始设想): package com.anlw.util; import org.hibernate.Sessi...
  • an_2016
  • an_2016
  • 2016年06月25日 20:24
  • 3652

不明觉厉的spring(4)---spring对持久层(jdbc,hibernate)以及事务的支持

Spring对持久层的支持 ① JDBC,② O/R Mapping(Hibernate,TopLink等) Spring对持久层支持采用的策略:   1、Spring对持久层“不发明重复的轮子”,即...
  • Senssic
  • Senssic
  • 2013年10月15日 23:45
  • 2850

JDBC与Hibernate区别

  • 2012年04月10日 09:54
  • 16KB
  • 下载

spring hibernate,spring jdbc事务管理

  • 2014年04月18日 10:01
  • 730KB
  • 下载

Hibernate JDBC比较及系统调优

Hibernate与JDBC比较: 第一:Hibernate作为ORM,有一个ORM固有的问题,就是由于为了持久对象的同步,不能够使用批量删除和批量更新的sql,只能按照主键一条条来操作。因此效...
  • mlc0202
  • mlc0202
  • 2012年12月30日 22:18
  • 628

JDBC Hibernate学习笔记

  • 2011年11月13日 11:51
  • 388KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hibernate jdbc
举报原因:
原因补充:

(最多只允许输入30个字)