zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    SQL学习指南第三篇
    SQL学习指南第二篇
    Rebuilding Roads
    TOJ4244: Sum
    K-th Number
    【模板】后缀数组
    冰水挑战
    旅途
    Monkey and Banana
    Max Sum Plus Plus
  • 原文地址:https://www.cnblogs.com/pjlhf/p/8727630.html
Copyright © 2011-2022 走看看