在網絡資源中有很多S2HS整合的文檔和教程,但是真正適合初學者的少之又少,初學者在整合的時候經常會遇到這樣活着那樣的錯誤,今天我就把自己在實踐中的詳細過程都記錄下來,希望對自己,對學習S2HS的初學者都有些幫助。 MyEclipse創建一個Hibernate應用的開發步驟: Ø 創建工程 Ø 切換到MyEclipse Database Explorer透視圖 Ø 在MyEclipse Database Explorer透視圖中完成數據連接並測試數據連接的正確性 Ø 爲工程增加Hibernate支持 Ø 生成HibernateSessionFactory類 Ø 創建數據表USERINFO(String userid ,String password, String username,String email,String address,String telephone) Ø 根據數據表USERINFO生成POJO和映射文件 Ø 測試HQL Ø 編寫測試文件,測試使用Hibernate生成類
1、創建一個java工程
2、把MyEclipse的工作視圖轉換爲MyEclipse database explorer視圖
3、在透視圖中完成數據庫的鏈接(本文以SQL SERVER 2005爲例)
然後填寫數據庫鏈接相關信息:
選擇Driver template爲Microsoft SQL Server 2005 Driver name爲:sqlserver2005 (這裏的命名是任意的) Connection URL: jdbc:sqlserver://localhost:1433;databaseName=test(這裏的test是數據庫名稱,修改爲你自己的數據庫名) User name和Password分別是數據庫的用戶名和密碼 單擊“Add JARs”添加數據庫驅動程序(這裏需要我們事先下載好相應的數據庫驅動程序)
你可以點擊Test Driver,對驅動程序進行測試 接下來按照默認進行下去就行,最終會顯示數據庫鏈接成功,數據庫中所有的表都會在MyEclipse中顯示出來,這樣數據庫這部分就完成了。爲了後面測試方便,請在SQL EDIT中自行添加一些數據。
前面的步驟中已經完成一個Java Project工程的創建,設置了dababase explorer透視圖的參數,並利用該視圖完成數據庫操作的測試。下面完成Hibernate工程的創建。切換至java透視圖。
以上也可以用JNDI方式進行鏈接,自行選擇 接下來會讓我們創建一個HibernateSessionFactory,【注意】這個類不是Hibernate範圍的類,而是MyEclipse爲了幫助我們使用Hibernate而提供的一個工具類。幫助我們獲取到Hibernate中的session對象。並且它不能放在默認包下面,我們爲它要專門建一個package。
因爲我們的包沒有創建,所以直接點擊java package 右邊的new即可。
package創建完如上圖: 到目前爲止我們就基本添加了hibernate支持,打開你的工程目錄,會發現類似如下圖示:
5、創建POLO(針對表通過逆向工程產生POLO類和映射文件)
切換到database explorer視圖 打開Connected to sqlserver2005-> test ->dbo->TABLE,在TABLE中找到表USERINFO,在USERINFO中單擊右鍵選擇“Hibernate Reverse Engineering”(Hibernate逆向工程)如下圖:
打開POLO類創建頁面如下: 選擇Java src folder(Java源文件存放位置)和Java package 勾選“Create POJO <> DB Table mapping information”自動生成映射文件 勾選“Java Data Object ( POJO <> DB Table) ”自動生成POJO類
如圖,其它採用默認選項。
接下來一路默認即可,最後單擊Finish完成。
回到Java perspective(Java 視圖),展開工程視圖看到剛纔的創建過程添加了Userinfo.java和Userinfo.hbm.xml,並修改了hibernate.cfg.xml配置文件。這樣我們可以自動得到: POJO類:Userinfo.java 映射文件:Userinfo.hbm.xml 修改過的配置文件:hibernate.cfg.xml
6、測試HQL語言 在java視圖下,項目 --- myeclipse --- open hql editor
在HQL Editor中輸入:“from UserInfo” 即可查詢到表中所有的對象,同時選中某一個對象,在右邊的properties視圖中還可以看到這個對象中具體屬性的值
測試類UserTest.java代碼爲: package com.njcit.hibernate; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.Transaction; import com.njcit.hibernate.HibernateSessionFactory; public class HibernateTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Session session=HibernateSessionFactory.getSession(); Transaction trans=session.beginTransaction(); Userinfo u=new Userinfo(); u.setUserid("1111"); u.setUsername("444"); u.setPassword("222333"); u.setAddress("111"); u.setEmail("111"); u.setTelephone("222"); trans.begin(); System.out.println("userid:"+u.getUserid()); System.out.println("username:"+u.getUsername()); session.save(u); trans.commit(); //=========================================== Userinfo u2=(Userinfo)session.get(Userinfo.class,"1006"); u2.setUsername("newname"); trans.begin(); session.saveOrUpdate(u2); trans.commit(); //============================================== Userinfo u3=(Userinfo)session.get(Userinfo.class, "1001"); trans.begin(); session.delete(u3); trans.commit(); //============================================== Query q=session.createQuery("from Userinfo"); List list=q.list(); for(Object o:list){ System.out.println(((Userinfo)o).getUserid()+ ((Userinfo)o).getUsername()); } session.close(); } }
測試類中分別完成數據插入,數據修改,數據刪除,數據查詢。 運行結果爲:
8、調試小結: ü 創建數據連接時必須給出正確的URL,用戶名,密碼,並且正確引入數據庫驅動包。
ü 爲工程引入hibernate支持時,引入版本3.1(3.2的配置中有稍許區別)
ü 在database explorer視圖中創建POJO類時採用默認設置,如果主鍵生成策略爲native則需要額外的配置,否則報錯。(設置爲native則數據插入時報錯)
ü 在database explorer視圖中創建POJO類時,注意選擇的表如果滿足某種關聯條件則生成的相應配置文件會引用其他的類,而這些類本身並不存在,運行時即報錯。這時需要修改配置文件*.hbm.xml |
在MyEclipse下如何添加hibernate支持 (全)【轉】
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.