初识Hibernate

​ Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JaveEE架构中取代CMP,完成数据持久化的重任。

一 Hibernate的发展历程

  • 2001年,澳大利亚墨尔本一位名为Gavin King的27岁的程序员,上街买了一本SQL编程的书,他厌倦了实体bean,认为自己可以开发出一个符合对象关系映射理论,并且真正好用的Java持久化层框架,因此他需要先学习一下SQL。这一年的11月,Hibernate的第一个版本发布了。

  • 2002年,已经有人开始关注和使用Hibernate了。

  • 2003年9月,Hibernate开发团队进入JBoss公司,开始全职开发Hibernate,从这个时候开始Hibernate得到了突飞猛进的普及和发展。

  • 2004年,整个Java社区开始从实体bean向Hibernate转移,特别是在Rod Johnson的著作《Expert One-on-One J2EE Development without EJB》出版后,由于这本书以扎实的理论、充分的论据和详实的论述否定了EJB,提出了轻量级敏捷开发理念之后,以Hibernate和Spring为代表的轻量级开源框架开始成为Java世界的主流和事实标准。在2004年Sun领导的J2EE5.0标准制定当中的持久化框架标准正式以Hibernate为蓝本。

  • 2006年,J2EE5.0标准正式发布以后,持久化框架标准Java Persistent API(简称JPA)基本上是参考Hibernate实现的,而Hibernate在3.2版本开始,已经完全兼容JPA标准。


二 理解ORM 是什么

  1. 什么是 JDBC ?

    ​ JDBC 代表 Java Database Connectivity ,它是提供了一组 Java API 来访问关系数据库的 Java 程序。这些 Java APIs 可以使 Java 应用程序执行 SQL 语句,能够与任何符合 SQL 规范的数据库进行交互。

    ​ JDBC 提供了一个灵活的框架来编写操作数据库的独立的应用程序,该程序能够运行在不同的平台上且不需修改,能够与不同的 DBMS 进行交互。

  2. JDBC 的优点和缺点

    JDBC 的优点JDBC 的缺点
    干净整洁的 SQL 处理大项目中使用很复杂
    大数据下有良好的性能很大的编程成本
    对于小应用非常好没有封装
    易学的简易语法难以实现 MVC 的概念
    查询需要指定 DBMS
  3. 什么是ORM? Object Relation Mapping 对象关系映射;

    JavaBean (User)DB(t_user)
    uidt_uid
    unamet_uname
    upasswordt_upassword

    类------->表

    属性----->列

    对象----->记录

    以上对应关系 : 看下图
    在这里插入图片描述

    ORM 实现框架的特点:

    ​ 开源的,实现了 JDBC 的封装, 实现了简单的 API,轻量级解决方案,持久化对象是一个 POJO 类。最有名的 ORM 框架就是 Hibernate。

  4. 一个 ORM 系统相比于普通的 JDBC 有以下的优点

    • 使用业务代码访问对象而不是数据库中的表
    • 从面向对象逻辑中隐藏 SQL 查询的细节
    • 基于 JDBC 的 ‘under the hood’
    • 没有必要去处理数据库实现
    • 实体是基于业务的概念而不是数据库的结构
    • 事务管理和键的自动生成
    • 应用程序的快速开发

三 Hibernate 简介

  1. Hibernate 是由 Gavin King 于 2001 年创建的开放源代码的对象关系框架。它强大且高效的构建具有关系对象持久性和查询服务的 Java 应用程序。
  2. Hibernate 将 Java 类映射到数据库表中,从 Java 数据类型中映射到 SQL 数据类型中,并把开发人员从 95% 的公共数据持续性编程工作中解放出来。
  3. Hibernate 是传统 Java 对象和数据库服务器之间的桥梁,用来处理基于 O/R 映射机制和模式的那些对象。

Hibrenate 优势:

  • Hibernate 使用 XML 文件来处理映射 Java 类别到数据库表格中,并且不用编写任何代码。
  • 为在数据库中直接储存和检索 Java 对象提供简单的 APIs。
  • 如果在数据库中或任何其它表格中出现变化,那么仅需要改变 XML 文件属性。
  • 抽象不熟悉的 SQL 类型,并为我们提供工作中所熟悉的 Java 对象。
  • Hibernate 不需要应用程序服务器来操作。
  • 操控你数据库中对象复杂的关联。
  • 最小化与访问数据库的智能提取策略。
  • 提供简单的数据询问。

支持的数据库:

Hibernate 支持几乎所有的主要 RDBMS。以下是一些由 Hibernate 所支持的数据库引擎。

  • HSQL Database Engine
  • DB2/NT
  • MySQL
  • PostgreSQL
  • FrontBase
  • Oracle
  • Microsoft SQL Server Database
  • Sybase SQL Server
  • Informix Dynamic Server

支持的技术:

Hibernate 支持多种多样的其它技术,包括以下:

  • XDoclet Spring
  • JavaEE
  • Eclipse plug-ins
  • Maven
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值