Hibernate<一> 介紹及基礎應用

1、Hibernate入門基本概念
java

一、對象持久化:sql

   對象是隻能存在內存中,而內存不能永久的保存數據。若是要永久保存對象的狀態,須要進行對象的持久化,即把對象存儲到專門的數據庫中。關係數據庫中存放的關係數據,是非面向對象的。對象和關係數據是業務實體的兩種表現形式,業務實體在內存中表現爲對象,在關係數據庫中表現爲關係數據。把對象持久化關係數據庫中,須要進行對象-關係映射ORM。
數據庫

二、jdbc的優缺點:jdbc運行效率高,可是java程序代碼嵌入大量的sql語句,項目難以維護。
緩存

三、中間件和普通的應用程序代碼的區別在於,中間件具備很高的可重用性,對於各類應用領域都適合。後者和特定的業務功能相關,不一樣的業務領域的應用程序代碼顯然不同。
安全

四、Hibernate  API簡介:session

      提供訪問數據庫的操做的接口:Session、Transaction、和Query接口。app

      用於配置Hibernate的接口:Configurationspa

      ①、Configuration接口:配置Hibernate,根啓動Hibernate,建立SessionFactory對象,Hibernate應用經過Configuration實例來制定對象-關係映射文件的位置或者動態配置Hibernate屬性,而後建立SessionFactory實例。hibernate

      ②、SessionFactory接口:初始化Hibernate,充當數據存儲源的代理,建立Session對象。SessionFactory是線程安全的,它的同一個實例能夠被應用的多個線程訪問。同時它也是重量級的,不能隨意建立銷燬它的實例,若是應用只訪問一個數據庫,只須要建立一個SessionFactory實例,在應用初始化的時候建立該實例,若是應用同時訪問多個數據庫,則須要爲每一個數據庫建立一個單獨的SessionFactory實例。插件

            之因此稱SessionFactory是重量級的,由於它須要一個很大的緩存,用來存放預約義的sql語句以及映射元數據等。用戶還能夠爲sessionFactory配置一個緩存插件,這個緩存插件稱爲Hibernate的二級緩存。Hibernate在初始化就會根據映射信息預約義一些sql    insert、delete、update語句。這些sql語句存放在sessionFactory的緩存中。

      ③、session接口:負責保存、更新、刪除、加載和查詢對象。Session不是線程安全的,要避免多個線程同時訪問同一個session實例。Session是輕量級的,它的建立和銷燬不須要消耗太多的資源。在程序中能夠常常建立或銷燬session對象。session有一個緩存,被稱爲Hibernate的一級緩存,它存放被當前工做單元加載的對象。每一個session實例都有本身的緩存,這個session實例的緩存只能被當前工做單元訪問。

      ④、Transaction:事務管理。

      ⑤、Query和Criteria接口:是Hibernate的查詢接口,用於向數據庫查詢對象,以及控制執行查詢的過程。Query實例包裝了一個HQL查詢語句,HQL查詢語句是面向對象的,它引用類名以及類的屬性名,而不是表名及表的字段名。

五、使用Hibernate步驟:

    ①、建立持久化類:Hibernate要求持久化類必須提供一個不帶參數的默認構造方法。

    ②、建立對象-關係映射文件。例如建立Person.hm.xml文件,這個文件應該和Person.class放在同一個目錄下。

        

<hibernate-mapping>
    <class />
</hibernate-mapping>

            在class元素中,<id>子元素必須存在並且只能存在一次。<property>元素能夠不存在    ,或者存在一次或屢次。並且必須先定義<id>元素,再定義<property>元素。

   ③、建立Hibernate配置文件:Hibernate從其配置文件中讀取和數據庫鏈接有關的信息。這個配置文件應該位於classpath中。

相關文章
相關標籤/搜索