JAVA高級(jí)編程之 hibernate框架學(xué)習(xí)一

JAVA之hibernate框架學(xué)習(xí)一

hibernate
下載地址https://sourceforge.net/projects/hibernate/files/hibernate3/

官網(wǎng) http://in.relation.to/hibernate-orm/

一、首先我們要了解下對(duì)象關(guān)系模型

對(duì)象關(guān)系映射ORM 解決的主要問(wèn)題就是對(duì)象-關(guān)系的映射,域模型和關(guān)系模型都分別建立在概念模型的基礎(chǔ)上,
域模型是面向?qū)ο蟮?,關(guān)系模型是面向關(guān)系的,一般情況下,一個(gè)持久化類和一個(gè)表對(duì)應(yīng),類的
每個(gè)實(shí)例對(duì)應(yīng)表中的一條記錄。 (可能存在類中多個(gè)屬性對(duì)應(yīng)一列的情況,映射組成關(guān)系)
ORM中間件采用元數(shù)據(jù)來(lái)描述對(duì)象-關(guān)系映射細(xì)節(jié),元數(shù)據(jù)通常采用XML格式,并且存放在專門的
對(duì)象-關(guān)系映射文件中,如果希望把ORM軟件集成到自己的java應(yīng)用中,用戶首先要配置對(duì)象-關(guān)系
映射文件。

關(guān)系型數(shù)據(jù)庫(kù)
    表          關(guān)系
    對(duì)象          關(guān)系        
    Object     Relation
    類          表
    屬性         列
    對(duì)象         記錄

二、hiberna框架搭建條件

  • 1、獲取hibernate發(fā)布包

  • 2|、將hibernate依賴的jar集成到自己的項(xiàng)目中

    驅(qū)動(dòng)包如:
    hibernate3.jar
    lib/required/.jar(required下的所有架包)
    lib/jpa/
    .jar(rjpa下的所有架包)

  • 同時(shí)切記驅(qū)動(dòng)包的版本要一致,否則會(huì)出錯(cuò)

  • 3、 將hibernate依賴的配置文件加入到項(xiàng)目中

    1)hibernate.cfg.xml 配置文件

    2)***.hbm.xml 映射文件(對(duì)應(yīng)pojo類的映射文件)

  • hibernate.cfg.xml的配置

  • 1.在項(xiàng)目的包下創(chuàng)建xml文件
  • 2.在下載的hibernate的發(fā)布包中,解壓后進(jìn)入
    documentation\manual\zh-CN\html\index.html中,找到hibernate的配置方法。

配置信息如下:

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

<hibernate-configuration>

    <session-factory>

    <!-- Database connection settings -->
    <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
    <property name="connection.url">jdbc:hsqldb:hsql://localhost</property>
    <property name="connection.username">sa</property>
    <property name="connection.password"></property>

    <!-- JDBC connection pool (use the built-in) -->
    <property name="connection.pool_size">1</property>

    <!-- SQL dialect -->
    <property name="dialect">org.hibernate.dialect.HSQLDialect</property>

    <!-- Enable Hibernate's automatic session context management -->
    <property name="current_session_context_class">thread</property>

    <!-- Disable the second-level cache  -->
    <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

    <!-- Echo all executed SQL to stdout -->
    <property name="show_sql">true</property>

    <!-- Drop and re-create the database schema on startup -->
    <property name="hbm2ddl.auto">update</property>

    <mapping resource="org/hibernate/tutorial/domain/Event.hbm.xml"/>

  </session-factory>
</hibernate-configuration>
  • hbm.xml(映射文件)的配置

1.在項(xiàng)目的包下創(chuàng)建xml文件

2.在下載的hibernate的發(fā)布包中,解壓后進(jìn)入
documentation\manual\zh-CN\html\index.html中,找到hibernate的配置方法。

  • 切記:在映射文件中property的name要和自己創(chuàng)建的pojo類的屬性一致且屬性名一樣,否則
    會(huì)報(bào)錯(cuò);

配置信息模板如下:

 <!DOCTYPE hibernate-mapping PUBLIC 
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
 <hibernate-mapping package="org.hibernate.tutorial.domain">

<class name="Person" table="PERSON">
    <id name="id" column="PERSON_ID">
        <generator class="native"/>
    </id>
    <property name="age"/>
    <property name="firstname"/>
    <property name="lastname"/>
</class>

</hibernate-mapping>

三、hiberna框架基本布局

  • 1.在項(xiàng)目中創(chuàng)建一個(gè)項(xiàng)目包。
  • 2.在項(xiàng)目包中創(chuàng)建bean包--存放自己項(xiàng)目的pojo類
  • 3.在項(xiàng)目包中創(chuàng)建dao包--存放pojo類的增刪改查操作
  • 4.在項(xiàng)目包中創(chuàng)建service包--存放實(shí)現(xiàn)相應(yīng)功能的操作方法
  • 5.在項(xiàng)目包中創(chuàng)建common包--存放封裝類
  • 如若需要自己可以添加test包為自己測(cè)試時(shí)存放自己的測(cè)試類。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文中我們介紹并比較兩種最流行的開(kāi)源持久框架:iBATIS和Hibernate,我們還會(huì)討論到Java Persi...
    大同若魚(yú)閱讀 4,437評(píng)論 4 27
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,279評(píng)論 6 342
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,740評(píng)論 18 399
  • Hibernate: 一個(gè)持久化框架 一個(gè)ORM框架 加載:根據(jù)特定的OID,把一個(gè)對(duì)象從數(shù)據(jù)庫(kù)加載到內(nèi)存中OID...
    JHMichael閱讀 2,095評(píng)論 0 27
  • 天氣漸漸熱起來(lái),剛脫了棉襖,春裝都來(lái)不及穿上,就已經(jīng)進(jìn)入了初夏了。 櫻樹(shù)、桃樹(shù)上已經(jīng)看不到了花兒的影子,偶爾會(huì)在枝...
    余枂閱讀 550評(píng)論 2 1

友情鏈接更多精彩內(nèi)容