zoukankan      html  css  js  c++  java
  • Hibernate day01

    什么是 Hibernate?

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

    对象的持久化理解:

    狭义的理解,“持久化”仅仅指把对象永久保存到数据库中

    广义的理解,“持久化”包括和数据库相关的各种操作:

    保存:把对象永久保存到数据库中。

    更新:更新数据库中对象(记录)的状态。

    删除:从数据库中删除一个对象。

    查询:根据特定的查询条件,把符合查询条件的一个或多个对象从数据库加载到内存中。

    加载:根据特定的OID,把一个对象从数据库加载到内存中。

    OID:---

    为了在系统中能够找到所需对象,需要为每一个对象分配一个唯一的标识号。在关系数据库中称之为主键,而在对象术语中,则叫做对象标识(Object identifier-OID).

    ORM:

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

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

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

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

    ORM

    流行的ORM框架

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

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

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

    myBatis:

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

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

    Hibernate 与 Jdbc 代码对比

    1、下图session sess由Hibernate 实现

    2、connection  save 由JDBC 实现

     

    1、安装 hibernate 插件

    安装方法说明(hibernatetools-4.1.1.Final):
    Help --> Install New Software...
    Click Add... 
    In dialog Add Site dialog, click Archive... 
    Navigate to hibernatetools-Update-4.1.1.Final_2013-12-08_01-06-33-B605.zip  and click  Open 
    Clicking OK in the Add Site dialog will bring you back to the dialog 'Install' 
    Select the Jboss Tools hibernatetools Nightly Build Update Site that has appeared 
    Click Next  and then Finish 
    Approve the license 
    Restart eclipse when that is asked

    2、准备 Hibernate 环境

    导入 Hibernate 必须的 jar 包:

    加入数据库驱动的 jar 包:

    3、Hibernate开发步骤

     1. 创建持久化 Java 类

    --提供一个无参的构造器:使Hibernate可以使用Constructor.newInstance() 来实例化持久化类

    --提供一个标识属性(identifier property): 通常映射为数据库表的主键字段. 如果没有该属性,一些功能将不起作用,如:Session.saveOrUpdate()

    --为类的持久化类字段声明访问方法(get/set): Hibernate对JavaBeans 风格的属性实行持久化。

    --使用非 final 类: 在运行时生成代理是 Hibernate 的一个重要的功能. 如果持久化类没有实现任何接口, Hibnernate 使用 CGLIB 生成代理.

    --如果使用的是 final 类, 则无法生成 CGLIB 代理. 重写 eqauls 和 hashCode 方法: 如果需要把持久化类的实例放到 Set 中(当需要进行关联映射时), 则应该重写这两个方法

    注意1. 创建持久化 Java 类

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

    2. 创建对象-关系映射文件

    Hibernate 采用 XML 格式的文件来指定对象和关系数据之间的映射. 在运行时 Hibernate 将根据这个映射文件来生成各种 SQL 语句 映射文件的扩展名为 .hbm.xml

     3. 创建 Hibernate 配置文件

    Hibernate 从其配置文件中读取和数据库连接的有关信息, 这个文件应该位于应用的 classpath 下.

    下边是控制台输出的 SQL 语句

      Helloworld

    使用 Hibernate 进行数据持久化操作,通常有如下步骤:

    编写持久化类: POJO + 映射文件 获取 Configuration 对象 获取 SessionFactory 对象 获取 Session,打

    开事务 用面向对象的方式操作数据库 关闭事务,关闭 Session

  • 相关阅读:
    任意不规则形状的图片剪裁 .
    C#图片处理示例(裁剪,缩放,清晰度,水印)
    C#对图片文件的压缩、裁剪操作初探
    CSS和SVG中的剪切——clip-path属性和<clipPath>元素
    Java中继承thread类与实现Runnable接口的区别
    Android学习系列(7)--App轮询服务器消息
    Android学习系列(15)--App列表之游标ListView(索引ListView)
    Android学习系列(20)--App数据格式之解析Json
    Android学习系列(22)--App主界面比较
    Android学习系列(23)--App主界面实现
  • 原文地址:https://www.cnblogs.com/a8457013/p/8342508.html
Copyright © 2011-2022 走看看