Hibernate入門

來源:互聯網
上載者:User

標籤:提高   news   ddl   generator   簡單的   factory   方便   resource   actor   

先來瞭解兩個概念

一、什麼是持久層?

持久是相對於瞬時來說的,簡單說就是把資料儲存到資料庫中,然後持久儲存到存放裝置上,不像放在記憶體中斷電就消失。公司專屬應用程式中資料很重要(各種訂單資料、客戶資料、庫存資料之類的),比應用程式本身更重要,所以需要把資料持久化。

 

二、什麼是對象關係映射(ORM)

ORM是一種為瞭解決物件導向與關聯式資料庫存在的互不匹配的現象的技術。簡單的說,ORM是通過使用描述對象和資料庫之間映射的中繼資料,將java程式中的對象自動持久化到關聯式資料庫中。本質上就是將資料從一種形式轉換到另外一種形式。

 

Hibernate

一、什麼是Hibernate?

Hibernate是一個基於Java的開放原始碼的持久化中介軟體,是持久層的一種實現方式,它對JDBC做了輕量級封裝,不僅提供ORM映射服務,還提供資料查詢和資料緩衝功能,Java人員可以方便地通過Hibernate API來操縱資料庫。

 

二、Hibernate優點

  • l  提高生產力。不用寫大量的sql語句。
  • l  更加物件導向了,重點考慮對象,不用考慮sql。
  • l  移植性,用hibernate寫的代碼不需要改變,如改變資料庫,只要修改dialet(適配器就可以)。
  • l  透明持久化對象。(News對象不繼承任何架構。重用性更好)

 

三、Hibernate體繫結構和開發步驟

 

四、Hibernate第一個程式

官網地址: www.hibernate.org

(不同的Hibernate版本使用方法會有稍許差異)

3.6.0版本百度網盤分享:http://pan.baidu.com/s/1i4I1mcd

1   建立Java工程,並添加如下jar包:

  • {hibernate-_home}/hibernate3.jar
  • {hibernate-_home}/lib/required/*.jar
  • {hibernate-_home}/lib/jpa/hibernate-jpa-2.0-api-1.0.0.Final.jar (如果不加此包,會有異常:java.lang.ClassNotFoundException: javax.persistence.EntityListeners)
  • 資料庫對應的JDBC驅動(例如oarcle資料庫對應ojdbc14.jar)
  • 還可以加入日誌相關的jar包(不加也可以):因已經添加了{hibernate-_home}/lib/required/slf4j-api-1.6.1.jar只需要下載slf4j-1.6.1.zip,添加其中的slf4j-nop-1.6.1.jar

2  建立持久化對象

package com.silvan.pojo;

/**

 * 新聞

 */

public class News {

         private Integer id;

         private String newsTitle;

         private String newsContent;

         get/set……

}

3  建立對象關係對應檔

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

<hibernate-mapping>

         <class name="com.silvan.pojo.News" table="t_news">

                   <id name="id" column="id">

      <generator class="native"><!-- id的建置原則:從序列中產生 -->

                                     <param name="sequence">news_sequence</param>

      </generator>

                   </id>

                   <property name="newsTitle" column="news_title"></property>

                   <property name="newsContent" column="news_content"></property>

         </class>

</hibernate-mapping>

4  建立Hibernate設定檔

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd" >

<hibernate-configuration>

         <!-- 一個sessionfactory配置一個資料庫 -->

         <session-factory>

                   <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>

                   <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>

                   <property name="hibernate.connection.username">zhouyq</property>

                   <property name="hibernate.connection.password">123456</property>

                   <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:zhou</property>

                   <property name="hibernate.show_sql">true</property>

                   <property name="hibernate.hbm2ddl.auto">udpate</property>

        <!-- 載入對應檔 -->

        <mapping resource="com/silvan/pojo/News.hbm.xml"/>

         </session-factory>

</hibernate-configuration>

5  通過Hibernate API訪問資料庫

 未完待續

 

Hibernate入門

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.