(1)下載Hibernate,并向項目中導入Hibernate。
Project->Properies->Java Build Path->Libraries->Add External JARs...,選擇Hibernate根目錄下的hibernate3.jar,添加到項目中。
接著,要將Hibernate下的lib文件夾下的所有文件都作為一個User Library添加到項目中,否則,如果僅僅添加hibernate3.jar,編譯可以通過,運行卻會拋出ClassNotDef的異常,因為hibernate3.jar依賴于Hibernate下的lib文件夾下的文件。
2)我們的應用的后臺數據庫使用的是Oracle,所以首先要在例子項目中引入含有Oracle jdbc driver的包,classes12.jar。該jar文件位于oracle安裝目錄的jdbc/lib目錄下。
在Eclipse中,Project->Properies->Java Build Path->Libraries->Add External JARs...,選擇classes12.jar,將其添加到項目中。
(3)生成hibernate.cfg.xml文件。
通常Hibernate的配置文件和.hbm.xml文件都可以自動生成,這種自動生成的工具很多,我使用的是HibernateSynchronizer,它可以作為一個插件添加到Eclipse中。當HibernateSynchronizer插件正確加載后,我們可以向當前項目中添加Hibernate配置文件:File->New->Other->Hibernate->Hibernate Configuration File,出現如下界面:

注意,Driver Class要選擇針對Oracle的oracle.jdbc.driver.OracleDriver,而且DatabaseURL的格式也要正確,如:
最好將hibernate.cfg.xml文件存放于項目的根目錄下。
4)生成.hbm.xml文件。File->New->Other->Hibernate->Hibernate Mapping File,出現如下界面:
在填寫完Password后,點擊Refresh按鈕,就會在Tables中列出所有可以訪問的數據庫表,然后選中要為其生成.hbm.xml文件的表,點擊Finish,即會生成對應的.hbm.xml文件,比如我上面選擇的是Mobileuser表,就會生成Mobileuser.hbm.xml文件。
(5)從.hbm.xml文件自動生成實體類。
在Package Explorer中選中Mobileuser.hbm.xml文件,右鍵->Hibernate Synchronizer->Synchronize Files,即可生成對應的實體類和DAO類。如果你僅僅想要實體類,那么可以在Project->Properies->Hibernate Synchronizer->Data Access Objects,將“I would like to have DAOs created for me”的鉤選項去掉即可。
(6)在hibernate.cfg.xml文件中添加對應的mapping resource。
在Package Explorer中選中Mobileuser.hbm.xml文件,右鍵->Hibernate Synchronizer->Add Mapping Reference,即會在
hibernate.cfg.xml中自動生成如下配置:
(7)修改自動生成的hibernate.cfg.xml文件。需要在hibernate.cfg.xml文件的首部添加:
" -//Hibernate/HibernateConfigurationDTD3.0//EN "
" http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd " >
比較繁瑣的是,每次自動修改hibernate.cfg.xml文件后,都要重新添加這個xml片斷。
萬事具備,現在可以寫個測試來檢驗一下了:
public static void main(String[]args)
{
Configurationcfg = new Configuration().configure();
SessionFactorysFactory = cfg.buildSessionFactory();
Sessionsession = sFactory.openSession();
Transactiontx = session.beginTransaction();
Mobileuseruser = (Mobileuser)session.load(Mobileuser. class , new Integer( 2 ));
Stringage = user.getMobilenumber();
System. out .println(age);
tx.commit();
session.close();
}
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
