準備階段:
Hibernate可用于各種類型的項目,要在項目中使用Hibernate,需要下載Hibernate的API.
通過http://www.hibernate.org/網址可以下載到Hibernate的API和一些幫助文檔.

點擊downloads —> release bundles即可下載
下載解壓后,在lib -> required目錄下可找到項目中需要的jar包(API).
官網上好像沒有API的幫助文檔,大家可以到這里下載:http://115.com/file/bensl2vy#hibernate api幫助文檔.chm
開發階段:
新建一個JAVA項目,目錄結構如下:

將準備的jar包引入到項目中。
hibernate.cfg.xml:(Hibernate的配置文件,放在項目的src目錄下):<?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">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<!-- 設置驅動類 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 設置連接池默認個數 -->
<property name="connection.pool_size">20</property>
<!-- 設置JDBC URL -->
<property name="connection.url">jdbc:mysql://localhost:3306/book</property>
<!-- 設置數據庫用戶名 -->
<property name="connection.username">username</property>
<!-- 設置數據庫用戶密碼 -->
<property name="connection.password">passwrod</property>
<!-- 設置SQL方言 -->
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!-- 設置是否顯示SQL語句 -->
<property name="show_sql">true</property>
<!-- 設置格式化SQL語句 -->
<property name="format_sql">true</property>
<property name="current_session_context_class">thread</property>
<mapping resource="com/sunflower/bean/Person.hbm.xml" />
</session-factory>
</hibernate-configuration>
這里配置的是MySQL數據庫的驅動和連接,在開始的時候忘了加26行,結果調試的時候出錯,得不到session,關于這個標簽的使用,請參考如下文章:http://blog.sina.com.cn/s/blog_5ecfe46a0100e467.html 第28行是對象關系映射文件的配置.
Person.java:(人的實體類,對應到關系數據庫中的blog表)package com.sunflower.bean;
import java.io.Serializable;
/**
* 博客用戶的實體類
*
* @author hanyuan
* @time 2012-7-8 下午11:53:23
*/
public class Person implements Serializable {
private Integer id;
private String username;
private String password;
private String caption;
private String content;
public Integer getId() {
return id;
}
public void setId(Integer 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 String getCaption() {
return caption;
}
public void setCaption(String caption) {
this.caption = caption;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
第12~16行中的屬性對應到數據庫中的blog表的字段,其中id是主鍵索引.

Person.hbm.xml:(對象關系映射配置文件)<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<!-- 設置實體類與數據庫中表的對應關系 -->
<class name="com.sunflower.bean.Person" table="blog">
<id name="id" type="java.lang.Integer">
<column name="id"></column>
<!-- 將逐漸設置為自增 -->
<generator class="increment"></generator>
</id>
<property name="username" type="java.lang.String" not-null="true">
<column name="username"></column>
</property>
<property name="password" type="java.lang.String">
<column name="password"></column>
</property>
<property name="caption" type="java.lang.String">
<column name="caption"></column>
</property>
<property name="content" type="java.lang.String">
<column name="content"></column>
</property>
</class>
</hibernate-mapping>
<class name="com.sunflower.bean.Person" table="blog">表示對象對應的表,<id>字段是必須要有的,表示主鍵。開始的時候沒有加第13行,結果調試出錯,需要加上<generator>標簽,這里設置為自增類型.關于<generator>標簽的使用,參考下列文章:http://sarin.iteye.com/blog/605712
這個配置文件的是以hbm.xml結尾的,名字建議命名為對象名.hbm.xml,并且和實體類對象放在同一個包下,這樣比較好找.
Test.java:(調用Hibernate API 插入數據)package com.sunflower.main;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.sunflower.bean.Person;
public class Test {
@SuppressWarnings("deprecation")
public static void main(String[] args) {
// 讀取Hibernate的配置信息
Configuration config = new Configuration();
config.configure();
// 讀取配置里面的SessionFactory
SessionFactory sessionFactory = config.buildSessionFactory();
Session session = sessionFactory.getCurrentSession();
Transaction transaction = session.beginTransaction();
Person person = new Person();
person.setUsername("鄧光橋");
person.setPassword("123");
person.setCaption("Hibernate");
person.setContent("Hibernate 入門實例");
// 提交事務
session.save(person);
transaction.commit();
sessionFactory.close();
}
}