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è)試類。