前言:一直習慣用MyEclipse自動生成Hibernate,可是對手動配置一直不甚瞭解,都很差意思說本身是搞java的。因此趕忙複習了一下手動配置,並記錄在此,以便常回來看看! java
在Hibernate主頁下載hibernate-distribution-3.3.2.GA-dist.zip(這個很難找,必定要耐心!),解壓後把根目錄的hibernate3.jar和required文件夾裏的全部的包、數據庫驅動JAR,複製到WEB-INFO的lib裏。 sql
而後在項目裏build-path剛纔複製過來的JAR。 數據庫
首先建立與數據庫表字段對應的實體類(持久化類),必須實現java.io.Serializable接口 session
而後在全部實體類的同一個包下,建立映射文件,以下: oracle
Hibernate配置文件XXX.cfg.xml示例: app
<?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"> <!-- Mapping file autogenerated by MyEclipse Persistence Tools --> <hibernate-mapping> <class name="com.hibernate.Hebei" table="HEBEI" schema="ORCL"> <!--name表示實體類全名,table表示對應表名--> <id name="postcode" type="java.lang.String"> <column name="POSTCODE" length="10" /> <!--id及其子元素column表示實體類的屬性postcode對應表中的主鍵POSTCODE--> <generator class="native" /> <!--用於指定主鍵的生成策略,有如下值可選: //1.native:由Hibernate根據數據庫自行判斷生成哪一種策略。 //2.increment:對類型爲long、short、int的主鍵,以自增加的方式生成主鍵的值,主鍵將每次遞增1。 //3.identity:對於SQL Server、DB二、MySQL等支持標識列的數據庫,可以使主鍵自增加,但需把主鍵設爲標識列。 //4.sequence:對於Oracle、DB2等支持序列的數據庫,可實現主鍵自增加,須要經過param傳入序列名字。 //5.assigned:主鍵由應用程序負責生成,無需Hibernate參與。 --> </id> <property name="area" type="java.lang.String"> <!-- 定義實體類中的屬性和數據庫表中的字段的對應關係 --> <column name="AREA" length="100" not-null="true"> <comment>考區</comment> </column> </property> </class> </hibernate-mapping>
在src中建立Hibernate的配置文件XXX.cfg.xml,以下: eclipse
<?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="dialect"><!-- 用於配置使用的數據庫類型 --> org.hibernate.dialect.Oracle9Dialect </property> <property name="connection.url"> jdbc:oracle:thin:@localhost:1521:orcl </property> <property name="connection.username">system</property> <property name="connection.password">orcl</property> <property name="connection.driver_class"> oracle.jdbc.driver.OracleDriver </property> <property name="myeclipse.connection.profile">本機</property> <property name="show_sql">true</property><!-- 是否顯式sql語句,如過true就會在控制檯顯式sql語句 --> <mapping resource="com/hibernate/Hebei.hbm.xml" /><!-- 聲明映射文件的位置 --> </session-factory> </hibernate-configuration>