Hibernate - 简介

1.什么是 Hibernate ?

  • 一个框架
  • 一个 Java 领域的持久化框架
  • 一个 ORM 框架

       Hibernate:

      非常优秀、成熟的 ORM 框架。

      完成对象的持久化操作

      Hibernate 允许开发者采用面向对象的方式来操作关系数据库。

      消除那些针对特定数据库厂商的 SQL 代码

-  Hibernate 不要求持久化类继承任何父类或实现接口,这可以保证代码不被污染。这就是Hibernate被称为低侵入式设计的原因

 

       myBatis

      相比 Hibernate 灵活高,运行速度快

      开发速度慢,不支持纯粹的面向对象操作,需熟悉sql句,并且熟练使用sql语句优化功能

 2.ORM

  • ORM(Object/Relation Mapping): 对象/关系映射

  –      ORM 主要解决对象-关系的映射

  –      ORM的思想:将关系数据库中表中的记录映射成为对象,以对象的形式展现,程序员可以把对数据库的操作转化为对对象的操作

  –      ORM 采用元数据来描述对象-关系映射细节, 元数据通常采用 XML 格式, 并且存放在专门的对象-关系映射文件中.

 3.Hibernate开发步骤

–      编写持久化类: POJO + 映射文件

–      获取 Configuration 对象

–      获取 SessionFactory 对象

–      获取 Session,打开事务

–      用面向对象的方式操作数据库

–      关闭事务,关闭 Session

 

 

4.创建 Hibernate 配置文件

 

  •  hbm2ddl.auto该属性可帮助程序员实现正向工程, 即由 java 代码生成数据库脚本, 进而生成具体的表结构. 。取值 create | update | create-drop | validate

  –      create : 会根据 .hbm.xml  文件来生成数据表, 但是每次运行都会删除上一次的表 ,重新生成表, 哪怕二次没有任何改变

  –      create-drop : 会根据 .hbm.xml 文件生成表,但是SessionFactory一关闭, 表就自动删除

  –      update : 最常用的属性值,也会根据 .hbm.xml 文件生成表, 但若 .hbm.xml  文件和数据库中对应的数据表的表结构不同, Hiberante  将更新数据表结构,但不会删除已有的行和列

  –      validate : 会和数据库中的表进行比较, 若 .hbm.xml 文件中的列在数据表中不存在,则抛出异常

  •   format_sql:是否将 SQL 转化为格式良好的 SQL . 取值 true | false

 

posted on 2018-04-06 14:11  pjlhf  阅读(154)  评论(0编辑  收藏  举报

导航