国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

利用Eclipse開發Hibernate應用程序

2024-07-21 02:15:09
字體:
來源:轉載
供稿:網友
  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”的操作,插件會重新生成存根文件,我們只需要修改程序邏輯就可以了,非常方便。有了這樣的功能插件,我們可以極大的從配置文件的編寫、查錯中解脫出來,從而提高我們的工作效率。

收集最實用的網頁特效代碼!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淄博市| 辉县市| 中牟县| 正蓝旗| 东光县| 宿松县| 收藏| 都兰县| 韶山市| 巴塘县| 广灵县| 锦州市| 习水县| 曲松县| 壤塘县| 南溪县| 铜川市| 商丘市| 军事| 富宁县| 寿光市| 乌拉特前旗| 赤水市| 华池县| 金坛市| 兴仁县| 宁南县| 金川县| 天峨县| 清新县| 盐源县| 炉霍县| 莱阳市| 安吉县| 收藏| 招远市| 正安县| 武清区| 社会| 洪雅县| 准格尔旗|