返回首頁
當前位置: 主頁 > 網絡編程 > Jsp實例教程 >

JAVA持久層框架Hibernate環境配置和使用

時間:2012-12-17 13:55來源:知行網www.wzliqi.com 編輯:麥田守望者

最近

  最近繼續瞎忙乎,接手了開學的第三個網站項目。應要求做一個紅酒商城,開價800,所以一直在修改模板增添美化頁面。修改到今天基本要完工了。再說明天周 六了,晚上打算做個休息調整,再加上今天媳婦回家了,走將近半個多月,晚上沒啥心情繼續做,所以更新下博客,走訪走訪朋友們!今天的題目,估計很多朋友又 看不懂了,不扯淡了,切入正題……

Hibernate是啥

  作為三大主流框架的Hibernate,在整個網站中作為了持久層。即,將對象持久化到數據庫,對數據庫進行操作。Hibernate是一個獨立的對象-關系映射(ORM)持久化框架,本身不依賴于WEB服務器而存在。

配置Hibernate工作環境

  工欲善其事必先利其器,在開始進行Hibernate開發之前,必須學會搭建Hibernate環境。首先下載必要的工具。


Hibernate3   下載地址:http://www.hibernate.org/downloads


Mysql的JDBC驅動    下載地址:http://www.mysql.com

  一步一步開始安裝配置:

  一:安裝Mysql數據庫

  安裝Mysql數據庫作為學習測試。安裝方法不說了,你懂的……

  二:導入Jar包

  Eclipse中新建一個“Java Project”,工程名叫做“Hibernate_First”,并且將“Mysql的JDBC驅動jar包”,解壓hibernate安裝包后得到的 “hibernate3.jar”以及hibernate的lib庫下所有的jar包。如果你問我如何向工程中導入jar包的話,我勸你還是先看看 java基礎再看本篇文章吧。

JAVA持久層框架Hibernate環境配置和使用1

導入jar包

  三:創建持久化類

  我們創建一個User對象,它使用普通的Java對象來封裝,添加相應的屬性,并提供相應的get和set方法就可以:

package com.java50.www.hibernate;
import java.util.Date;
public class User {
private String id;
private String username;
private String password;
private Date createTime;
private Date expireDate;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getExpireDate() {
return expireDate;
}
public void setExpireDate(Date expireDate) {
this.expireDate = expireDate;
}
}

User對象擁有了ID標識、姓名、密碼、創建時間和銷毀時間。

  四:創建對象-關系映射文件

  User.hbm.xml和User位于同一目錄,配置代碼為;

<?xml version="1.0"?>
<!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.java50.www.hibernate.User">
<id name="id">
<generator class="uuid" />
</id>
<property name="username" />
<property name="password" />
<property name="createTime" />
<property name="expireDate" />
</class>
</hibernate-mapping>

  其中,所有配置都寫在<hibernate-mapping>標簽之間,<class>來找到對應的持久化對象,使用ID作為了 主鍵,通過設置 <generator class="uuid" />使得id使用uuid的方式來賦值,具體后面會將。其它屬性使用<property>做了配置。

 五:創建Hibernate配置文件hibernate.cfg.xml

  完全可以參照hibernate自帶的演示程序。

<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.url">jdbc:mysql://localhost/test</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">phpwind.net</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<mapping resource="com/java50/www/hibernate/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>

<property name="hibernate.connection.url">指向驅動的url

<property name="hibernate.connection.driver_class">指向驅動類,相當于Class.Forname()

<property name="hibernate.connection.username">數據庫用戶名

<property name="hibernate.connection.password">數據庫密碼

<property name="hibernate.dialect">數據庫方言

<mapping resource="com/java50/www/hibernate/User.hbm.xml"/>將對象-關系映射文件加載進來


 

需要注意的是,對于數據庫配置方言,上文指定了使用MYSQL數據庫,Hibernate提供了非常多的數據庫方言,例如連接SQL的 org.hibernate.dialect.SQLServerDialect和連接Oracle的 org.hibernate.dialect.OracleDialect等……

  六:工具類到處配置信息到數據庫

  上文已經將對象-關系映射關系配置好,那么如果使用Hibernate導入這些表,字段的信息呢?創建一個工具類Export.java

package com.java50.www.hibernate;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
public class Export {
public static void main(String[] args) {
//讀取hibernate.cfg.xml文件
Configuration cfg = new Configuration().configure();
SchemaExport export = new SchemaExport(cfg);
export.create(true, true);
}
}

執行后,可以看得到,Hibernate成功的在我們的MYSQL數據庫中的test數據庫創建了User這個表:

JAVA持久層框架Hibernate環境配置和使用2

MYSQL數據庫中得到了User表

  那么至此已經成功的配置了hibernate環境,并且連接到了數據庫成功創建了一張表,以后我會將,使用Hibernate對數據庫進行增刪改查。希望大家再接再厲,努力學習……

------分隔線----------------------------
標簽(Tag):Java JAVA實例教程 JAVA基礎教程 Java源代碼 Java技巧
------分隔線----------------------------
推薦內容
猜你感興趣
久久99久久99精品免视看