利用Eclipse開發Hibernate應用程式

來源:互聯網
上載者:User
程式   Eclipse是目前非常流行的開發平台,開放擴充的架構讓很多程式員找到了自己個人化的工作環境,Hibernate也是目前牛叉得不得了的架構,至少在EJB 3大行其道之前,它是我們在考慮OR映射時非常好的選擇。本文主要介紹如何利用Hibernate Syn外掛程式在Eclipse 3.0.1中快速的開發Hibernate應用程式,提高我們的工作效率。關於Hibernate架構的細節,本文不做過多的討論,請參考相關資料,推薦《Hibernate in action》一書。

  首先需要安裝這個外掛程式,Eclipse 3.0.1為我們提供了更加方便的外掛程式管理方式,選擇菜單“協助—軟體更新—尋找並安裝”(本人的Eclipse使用了語言抱漢化,請英文介面使用者自行對照),選擇“搜尋要安裝的新功能組件”,操作介面如下:


  選擇“建立遠端站台”,填寫名稱“Hibernate plugin”,下面的URL中填入:http://www.binamics.com/hibernatesync
如下圖:


  然後在“安裝”介面中選中我們剛添加的“Hibernate plugin”,一路Next,Eclipse就可以自己下載完成安裝,然後Eclipse自動重啟動一次就完成了。

  下面示範一個最簡單的單表操作,可以讓我們很快熟悉開發過程。我們選擇Mysql資料庫來做這個應用,首先建立一個資料表,名為user_info,包含id、name、password三個欄位,建表語句如下:

# Host: localhost
# Database: test
# Table: 'user_info'
#
CREATE TABLE `user_info` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(100) NOT NULL default '',
`password` varchar(100) NOT NULL default '',
PRIMARY KEY (`id`)
);


  然後建立一個普通的Java項目:“建立—項目—Java項目”,注意加入Hibernate的所有lib檔案,以及mysql的jdbc驅動檔案。下面我們需要在項目中加入一個Hibernate的設定檔,在src目錄下選擇“建立—其他—hibernate—hibernate configuration file”,如下圖:


  在彈出的介面中,你需要指定要使用的資料庫,以及串連資料庫所需要的資訊,我們對應的選擇了資料庫為mysql,並配置了資料庫的URL和管理員帳號,如下:


  在上圖中,我們還可以指定從JNDI資料來源中獲得串連,可以點擊“Datasource“標籤進行配置。

  “完成”之後系統會自己產生一個名為“hibernate.cfg.xml”的檔案,裡麵包含了基本的配置資訊,如果需要進階配置,可以手動添加。

  下面我們要產生對應檔,首先建立一個包“org.bromon.zizz.pojo”,在這個包下選擇“建立—其他—hibernate—hibernate mapping file”,在彈出的介面中點擊“重新整理”,講會列出庫中所有的資料表,選中我們要使用的“user_info”表,以及我們要產生的pojo檔案所在的包:org.bromon.zizz.pojo。如下圖:


  在上述介面的“Properties”標籤中可以配置hbm的其他選項,包括副檔名,彙總列名,ID建置規則等。完成後,系統會自動產生一個名為“UserInfo.hbm”的檔案,我們可以通過這個檔案產生相關的存根類。在UserInfo.hbm檔案上選擇“Hibernate Synchronizer—Synchronize files”:


  該操作將產生三個包八個類檔案,裡面封裝了Hibernate的操作細節,讓我們可以專心面對商務邏輯的開發,仔細閱讀這些檔案可以提高你對Hibernate的認識,增長應用技巧。

  然後我們需要在Hibernate的設定檔中添加對UserInfo的相關資訊,在UserInfo.hbm上選擇“Synchronizer—Add Mapping Reference”。現在我們可以開始編寫自己的程式邏輯了,代碼可以寫在org.bromon.zizz.pojo.dao. UserInfoDAO中,這個類的代碼不會被外掛程式修改。我們首先建立一條新的記錄,在該類中加入一個main方法:

public static void main(String args[])
{
 try
 {
  _RootDAO.initialize();
  UserInfoDAO uid=new UserInfoDAO();

  org.bromon.zizz.pojo.UserInfo ui=new org.bromon.zizz.pojo.UserInfo();
  ui.setName("bromon");
  ui.setPassword("123");

  uid.save(ui);

 }catch(Exception e)
 {
  e.printStackTrace();
 }
}


  可以看出,外掛程式已經把session操作和事務操作都封裝起來了,我們的代碼工作得到了極大的簡化。而且我們可以利用外掛程式內建的Hibernate editor來編輯hbm檔案,非常方便,我們需要把ID的產生方式改為“identity”:


  要讓這個程式正常運行,還需要對設定檔hibernate.cfg.xml作一些修改。值得注意的是,請不要在該外掛程式以外的環境中修改設定檔(比如使用DreamWeaver之類的工具編輯檔案),否則會造成系統與資源不同步的錯誤,這可能是外掛程式的一個bug。使用Eclipse的“文字編輯器”開啟該檔案,其中有如下的內容:

<property name="hibernate.transaction.factory_class">
net.sf.hibernate.transaction.JTATransactionFactory
</property>
<property name="jta.UserTransaction">
java:comp/UserTransaction
</property>


  由於在我們的例子中,並沒有使用JTA來控制事務,所以需要將上面的內容注釋掉,程式才能正常運行。

  OK,Run一下,可以看到資料已經被儲存到資料庫。

  如果在實際開發工作中,需要重新設計資料表結構,那麼只需要在.hbm檔案中做相應的修改,然後執行“Synchronize and Overwrite”的操作,外掛程式會重建存根檔案,我們只需要修改程式邏輯就可以了,非常方便。有了這樣的功能外掛程式,我們可以極大的從設定檔的編寫、查錯中解脫出來,從而提高我們的工作效率。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.