Hibernate学习笔记(1)——Hibernate与JDBC的比较

来源:互联网 发布:win10默认网卡mac地址 编辑:程序博客网 时间:2024/06/07 20:02
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。最初使用JDBC连接来读写数据库,我们最常见的就是打开数据库连接、使用复杂的SQL语句进行读写、关闭连接,获得的数据又需要转换或封装后往外传,这是一个非常烦琐的过程。

JDBC的缺点:

  1. 开发效率低
  2. 代码冗余
    • pstmt的setXX方法
    • 方法参数冗余的getXX方法
    • 如果POJO的属性很多,代码增加
  3. 重复性工作多
  4. JDBC无法直接面向对象

由于JDBC的这些缺点,这时出现了 Hibernate框架,Hibernate可以应用在任何使用JDBC的场合。它需要你创建一系列的持久化类,每个类的属性都可以简单的看做和一张数据库表的属性一一对应,当然也可以实现关系数据库的各种表件关联的对应。当我们需要相关操作是,不用再关注数据库表。我们不用再去一行行的查询数据库,只需要持久化类就可以完成增删改查的功能。使我们的软件开发真正面向对象,而不是面向混乱的代码。

hibernate的优势:

  • 一个开发源代码的对象关系映射框架
  • 对JDBC进行了非常轻量级的对象封装,简化了JDBC 繁琐的编码
  • 将JavaBean对象和数据库的表建立对应关系

何为持久化呢?

在Java中说持久化,通常指的是使用SQL将数据存储在关系型数据库中。ORM是持久化的一种解决方案,主要是把对象模型和关系型数据库关系模型映射起来,并且使用元数据对这些映射进行描述。例如下面的映射实例:
 
如图所示,实体类的定义可以和表的定义映射起来,类的属性可以和表的字段映射起来。内存中的一个实体对象代表一行已经存在的数据或者即将插入的数据。这样映射起来之后,通过某种自动化的SQL生成机制便可达到“操作对象就是操作数据库”的目标。

 

 

原创粉丝点击