熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

利用Eclipse開發Hibernate應用程序

2013-11-23 20:05:43  來源: Java開源技術 

  Eclipse是目前非常流行的開發平台開放擴展的架構讓很多程序員找到了自己個性化的工作環境Hibernate也是目前牛叉得不得了的框架至少在EJB 大行其道之前它是我們在考慮OR映射時非常好的選擇本文主要介紹如何利用Hibernate Syn插件在Eclipse 中快速的開發Hibernate應用程序提高我們的工作效率關於Hibernate框架的細節本文不做過多的討論請參考相關資料推薦《Hibernate in action》一書
  
  首先需要安裝這個插件Eclipse 為我們提供了更加方便的插件管理方式選擇菜單幫助?軟件更新?查找並安裝(本人的Eclipse使用了語言抱漢化請英文界面用戶自行對照)選擇搜索要安裝的新功能部件操作界面如下
   
  選擇新建遠程站點填寫名稱Hibernate plugin下面的URL中填入
  如下圖
   
  然後在安裝界面中選中我們剛添加的Hibernate plugin一路NextEclipse就可以自己下載完成安裝然後Eclipse自動重啟動一次就完成了
  
  下面演示一個最簡單的單表操作可以讓我們很快熟悉開發過程我們選擇Mysql數據庫來做這個應用首先建立一個數據表名為user_info包含idnamepassword三個字段建表語句如下
  
  # Host: localhost
  # Database: test
  # Table: user_info
  #
  CREATE TABLE `user_info` (
  `id` int() NOT NULL auto_increment
  `name` varchar() NOT NULL default
  `password` varchar() NOT NULL default
  PRIMARY KEY (`id`)
  );
  
  然後新建一個普通的Java項目新建?項目?Java項目注意加入Hibernate的所有lib文件以及mysql的jdbc驅動文件下面我們需要在項目中加入一個Hibernate的配置文件在src目錄下選擇新建?其他?hibernate?hibernate configuration file如下圖
   
  在彈出的界面中你需要指定要使用的數據庫以及連接數據庫所需要的信息我們對應的選擇了數據庫為mysql並配置了數據庫的URL和管理員帳號如下
   
  在上圖中我們還可以指定從JNDI數據源中獲得連接可以點擊Datasource標簽進行配置
  
  完成之後系統會自己生成一個名為hibernatecfgxml的文件裡面包含了基本的配置信息如果需要高級配置可以手動添加
  
  下面我們要生成映射文件首先新建一個包orgbromonzizzpojo在這個包下選擇新建?其他?hibernate?hibernate mapping file在彈出的界面中點擊刷新講會列出庫中所有的數據表選中我們要使用的user_info以及我們要生成的pojo文件所在的包orgbromonzizzpojo如下圖
   
  在上述界面的Properties標簽中可以配置hbm的其他選項包括文件擴展名聚合列名ID生成規則等完成後系統會自動生成一個名為UserInfohbm的文件我們可以通過這個文件生成相關的存根類在UserInfohbm文件上選擇Hibernate Synchronizer?Synchronize files
   
  該操作將生成三個包八個類文件裡面封裝了Hibernate的操作細節讓我們可以專心面對業務邏輯的開發仔細閱讀這些文件可以提高你對Hibernate的認識增長應用技巧
  
  然後我們需要在Hibernate的配置文件中添加對UserInfo的相關信息在UserInfohbm上選擇Synchronizer?Add Mapping Reference現在我們可以開始編寫自己的程序邏輯了代碼可以寫在orgbromonzizzpojodao UserInfoDAO中這個類的代碼不會被插件修改我們首先創建一條新的記錄在該類中加入一個main方法
  
  public static void main(String args[])
  {
  try
  {
  _RootDAOinitialize();
  UserInfoDAO uid=new UserInfoDAO();
  
  orgbromonzizzpojoUserInfo ui=new orgbromonzizzpojoUserInfo();
  uisetName(bromon);
  uisetPassword();
  
  uidsave(ui);
  
  }catch(Exception e)
  {
  eprintStackTrace();
  }
  }
  
  可以看出插件已經把session操作和事務操作都封裝起來了我們的代碼工作得到了極大的簡化而且我們可以利用插件自帶的Hibernate editor來編輯hbm文件非常方便我們需要把ID的生成方式改為identity
  
  要讓這個程序正常運行還需要對配置文件hibernatecfgxml作一些修改值得注意的是請不要在該插件以外的環境中修改配置文件(比如使用DreamWeaver之類的工具編輯文件)否則會造成系統與資源不同步的錯誤這可能是插件的一個bug使用Eclipse的文本編輯器打開該文件其中有如下的內容
  
  <property name=hibernatetransactionfactory_class
  netsfhibernatetransactionJTATransactionFactory
  </property>
  <property name=jtaUserTransaction
  java:compUserTransaction
  </property>
  
  由於在我們的例子中並沒有使用JTA來控制事務所以需要將上面的內容注釋掉程序才能正常運行
  
  OKRun一下可以看到數據已經被保存到數據庫
  
  如果在實際開發工作中需要重新設計數據表結構那麼只需要在hbm文件中做相應的修改然後執行Synchronize and Overwrite的操作插件會重新生成存根文件我們只需要修改程序邏輯就可以了非常方便有了這樣的功能插件我們可以極大的從配置文件的編寫查錯中解脫出來從而提高我們的工作效率
From:http://tw.wingwit.com/Article/program/Java/ky/201311/27926.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.