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

首頁 > 開發 > 綜合 > 正文

Eclipse快速上手Hibernate--1. 入門實例

2024-07-21 02:05:42
字體:
來源:轉載
供稿:網友
    這篇文章主要談談hibernate的入門開發,例子很簡單,就是向數據表中添加用戶名和密碼。我分別使用了三種方法,一種是直接寫代碼,寫hbm映射文件等;一種是通過hbm映射文件來生成代碼;一種是通過代碼來生成hbm映射文件。使用了一些自動化工具,xmlbuddy是用來編輯xml文件的,jboss eclipse ide是用來編寫doclet標記的。這篇文章還談到了一些eclipse的使用技巧,比如建立“用戶庫”、“生成 getter 和 setter”等。    關于一些軟件的使用技巧,我以前的文章都有提及,這里不多說了,必要時會提示一下。    一、下載、安裝和配置 1. 所需軟件● ant 1.6.2        http://ant.apache.org    下載            http://mirror.apache.or.kr/ant/binaries/apache-ant-1.6.2-bin.zip ● eclipse 3.0.1 及 語言包     參考:          http://blog.csdn.net/javamxj/archive/2004/10/11/131952.aspx ● xdoclet  1.2.2   http://xdoclet.sourceforge.net/xdoclet/    下載            http://prdownloads.sourceforge.net/xdoclet/xdoclet-bin-1.2.2.zip?download ● xmlbuddy          http://www.xmlbuddy.com/    下載             xmlbuddy 2.0.38     ● jboss eclipse ide http://www.jboss.org/products/jbosside   看看說明,需要挑選與使用的eclipse相對應的版本,這里選擇jbosside-1.4.1-e30.zip,這是它的鏡像下載地址:   http://prdownloads.sourceforge.net/jboss/jbosside-1.4.1-e30.zip?download ● hibernate         http://www.hibernate.org/     下載            hibernate 2.1.8  http://prdownloads.sourceforge.net/hibernate/hibernate-2.1.8.zip?download    同時也要把 hibernate extensions 2.1.3 下載了,它包含一些工具類。     下載            http://prdownloads.sourceforge.net/hibernate/hibernate-extensions-2.1.3.zip?download  ●  mysql 4.1.8      參考:http://blog.csdn.net/javamxj/archive/2005/01/13/251861.aspx     注意需要mysql-connector-java-3.0.16-ga-bin.jar文件   2. 安裝和配置       這里著重指出一下,需要在環境變量中設置 ant_home ,并將其指向ant安裝目錄,還要在path變量值中添加 “%ant_home%/bin;” 可以參考 java環境變量設置 。  · xmlbuddy 和jboss-ide 我都是采用links方式安裝的,     參考   http://blog.csdn.net/javamxj/archive/2004/10/11/132311.aspx   ●  建立庫文件夾:    在d盤下新建一個java目錄,在此目錄下新建一個hibernate子目錄,在此子目錄下再新建一個lib子目錄。d:/  -java     -hibernate               -lib · 將下載的hibernate-2.1.8.zip解壓,如解壓后的目錄名為hibernate-2.1,將這個目錄下的hibernate2.jar復制到先前建立的lib目錄下,即d:/java/hibernate/lib目錄;  · 然后將hibernate-2.1目錄下的lib子目錄中的以下文件也復制到這個lib目錄下:jta.jar  cglib-full-2.0.2.jar  commons-collections-2.1.1.jar  commons-logging-1.0.4.jar
commons-lang-1.0.1.jar 
dom4j-1.4.jar ehcache-0.9.jar log4j-1.2.8.jar odmg-3.0.jar  · 解壓hibernate-extensions-2.1.3.zip,將其子目錄tools中的hibernate-tools.jar和子目錄lib中的velocity-1.3.1.jar、jdom.jar 也復制到d:/java/hibernate/lib目錄中  · 解壓xdoclet-bin-1.2.2.zip,將其子目錄lib中的xdoclet-1.2.2.jar、xdoclet-hibernate-module-1.2.2.jar、xjavadoc-1.1.jar、xdoclet-xdoclet-module-1.2.2.jar 也復制到d:/java/hibernate/lib目錄中 · 最后將mysql-connector-java-3.0.16-ga-bin.jar文件復制到這個lib目錄下。    這樣,需要用到的庫文件已經準備好了,如果認為這樣比較麻煩,也可以將jar文件全部復制到lib目錄。下面介紹如何在eclipse中設置“用戶庫”。   ●  設置“用戶庫” ·窗口 ->首選項 ->java ->構建路徑 ->用戶庫, · 然后單擊“添加jar”    這樣,一個用戶庫文件就做好了,如果要更新eclipse時,可以將其先導出,然后再導入即可。這樣做,對庫文件便于管理,而且如果需要替換或者升級的話都比較方便。
 

 

●  設置“構建路徑”

 

· 點擊菜單“窗口”->首選項,以下都在“首選項”中配置:
   java->構建路徑      ● 更新xdoclet-hibernate-module    將xdoclet1.2.2中的xdoclet-hibernate-module-1.2.2.jar復制到jbosside-1.4.1-e30/eclipse/plugins/org.jboss.ide.eclipse.xdoclet.core_1.4.1目錄中,并且刪除其目錄下的xdoclet-hibernate-module-1.2.1.jar文件,然后在eclipse界面中,窗口 ->首選項 ->jboss-ide ->xdoclet ->code assist:點擊右側的“refresh xdoclet data”欄,即可完成更新。如果要替換其它的模塊,步驟與此類似。    二、項目實踐     這里以一個簡單的程序來示范hibernate的配置與功能,在這個例子中的一些操作,實際上會使用一些自動化工具來完成,而不一定親自手動操作設定,這邊完全手動的原因,在于讓你可以知道hibernate的基本流程。     這是整個項目的結構: 好了,下面就開始創建項目了。    1. 創建項目 · 新建一個java項目:hibernatebegin_1,注意選中“創建單獨的源文件夾和輸出文件夾”。點擊“下一步”,切換到“庫”,點擊“添加庫”,如下圖: · 選擇“用戶庫” · 勾選先前設置好的hibernate用戶庫。  2. 建立可持久化類  · 下面開始創建一個新類:user ;包名:javamxj.hibernate ; 然后添加三個變量(斜體),代碼如下:
/* * 采用常規方法開發一個簡單的hibernate實例 * 創建日期 2005-3-31 * @author javamxj(分享java快樂) * @link blog: htpp://javamxj.mblogger.cn * htpp://blog.csdn.net/javamxj/ */package javamxj.hibernate;public class user { private int id; private string username; private string password;}
· 點擊工具欄上的“源代碼(s)”,選擇其中的“生成 getter 和 setter”(右擊,在彈出菜單也可選擇),如圖: 點擊“確定”后,生成如下代碼:
/* * 采用常規方法開發一個簡單的hibernate實例 * 創建日期 2005-3-31 * @author javamxj(分享java快樂) * @link blog: htpp://javamxj.mblogger.cn * htpp://blog.csdn.net/javamxj/ */package javamxj.hibernate;public class user { private int id; private string username; private string password;public int getid() {return id;}public void setid(int id) {this.id = id;}public string getpassword() {return password;}public void setpassword(string password) {this.password = password;}public string getusername() {return username;}public void setusername(string username) {this.username = username;}}
     好了,這個類完成了。它是一個普通的java對象(plain old java objects,就是pojos,有時候也稱作plain ordinary java objects),表示一個數據集合。下面建立一個hbm文件將這個類映射到數據庫的表格上。  3. 映射文件    在javamxj.hibernate包下,新建一個名稱為“user.hbm.xml”的文件,使用xmlbuddy編輯它(參考:利用xmlbuddy在eclipse中開發xml ),這樣比較方便。文件內容如下:
<?xml version="1.0" encoding="gbk"?><!doctype hibernate-mapping public "-//hibernate/hibernate mapping dtd//en" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"><hibernate-mapping> <class name="javamxj.hibernate.user" table="usertable"> <id name="id"> <generator class="assigned" /> </id> <property name="username" /> <property name="password" /> </class></hibernate-mapping>
    這個xml文件定義了對象屬性映射到數據庫表的關系,這里采用了assigned(程序設置)方式生成主鍵。當然還可以使用其它的方式來產生主鍵,后面的文章就采用了其它的方式產生主鍵。    <property>標簽用于定義java對象的屬性,這里只定義了最簡單的方式,由hibernate自動判斷java對象屬性與數據庫表名稱對應關系。在<property/>標簽上的額外設定(像是not null、sql-type等),則可以用于自動產生java對象與數據庫表的工具上。  4. 配置文件     hibernate可以使用xml或屬性文件來進行配置,配置文件名默認為“hibernate.cfg.xml”(或者hibernate.properties)。   在src目錄下,新建一個hibernate.cfg.xml文件,內容如下:
<?xml version='1.0' encoding='gbk'?><!doctype hibernate-configuration public "-//hibernate/hibernate configuration dtd//en" "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd"><hibernate-configuration> <session-factory> <!-- 是否將運行期生成的sql輸出到日志以供調試 --> <property name="show_sql">true</property> <!-- sql方言,這里設定的是mysql --> <property name="dialect">net.sf.hibernate.dialect.mysqldialect</property> <!-- jdbc驅動程序 --> <property name="connection.driver_class">com.mysql.jdbc.driver</property> <!-- jdbc url, "?useunicode=true&amp;characterencoding=gbk" 表示使用gbk進行編碼 --> <property name="connection.url"> jdbc:mysql://localhost:3306/hibernatetest?useunicode=true&amp;characterencoding=gbk </property> <!-- 數據庫用戶名 --> <property name="connection.username">root</property> <!-- 數據庫密碼 --> <property name="connection.password">javamxj</property> <!-- 指定user的映射文件 --> <mapping resource="javamxj/hibernate/user.hbm.xml"/> </session-factory></hibernate-configuration>
 注意:這里使用的是“jdbc:mysql://localhost:3306/hibernatetest?useunicod...”中的hibernatetest數據庫,你需要在mysql中建立這個數據庫。  5. 測試程序    在javamxj.hibernate包下,新建一個test類,內容如下:
/* * 簡單測試一下user類 * 創建日期 2005-3-31 * @author javamxj(分享java快樂) */package javamxj.hibernate;import net.sf.hibernate.*;import net.sf.hibernate.cfg.*;public class test {public static void main(string[] args) {try {sessionfactory sf = new configuration().configure().buildsessionfactory();session session = sf.opensession();transaction tx = session.begintransaction();user user = new user();user.setusername("blog");user.setpassword("分享java快樂");session.save(user);tx.commit();session.close();} catch (hibernateexception e) {e.printstacktrace();}}}
    這里簡單說說一下流程,首先初始化configuration,加載hibernate的配置信息,然后configuration取得sessionfactory對象,并由它來開啟一個session,它代表對象與表格的一次會話操作,而 transaction則表示一組會話操作,我們只需要直接操作user對象,并進行session與transaction的相關操作, hibernate就會自動完成對數據庫的操作。  6. 配置數據庫    在運行測試程序之前,還必須先設置好數據庫。   在mysql中建立一個hibernatetest數據庫,并建立usertable表,sql語句如下: create table usertable (  id int(6) not null auto_increment,  username varchar(24) not null default '',  password varchar(24) not null default '',  primary key  (id)); create table usertable (  id int(6) not null auto_increment,  username varchar(24) not null default '',  password varchar(24) not null default '',  primary key  (id));      這里,hibernatetest與hibernate.cfg.xml配置文件中的hibernatetest相對應,usertable與hbm映射文件中的usertable相對應。  7. 運行程序    右擊test.java,點擊運行,可以看到控制臺輸出一系列信息,最后一條輸出語句應該是:hibernate: insert into usertable (username, password, id) values (?, ?, ?)   在下篇文章中會介紹如何利用log4j來控制輸出信息。    同時,在數據庫中可以看到,數據已經添加進表里了:  小結:     hibernate原理方面我不想多說,實際上知道也不多,況且這方面的資料很多,比如hibernate本身自帶的中文文檔、夏昕編寫的《hibernate開發指南》、良葛格編寫的“hibernate入門”等都是非常不錯的,現在關于hibetnate的書籍也多了起來。     我所作的工作就是要使新手能盡快上手hibernate,理論方面我不想過多糾纏,盡量以實例說話。我想,與其憑空說一個技術多好多好,倒不如給我一個可以上手的實例操作一下。好了,不多說廢話了。      小結:     hibernate原理方面我不想多說,實際上知道也不多,況且這方面的資料很多,比如hibernate本身自帶的中文文檔、夏昕編寫的《hibernate開發指南》、良葛格編寫的“hibernate入門”等都是非常不錯的,現在關于hibetnate的書籍也多了起來。     我所作的工作就是要使新手能盡快上手hibernate,理論方面我不想過多糾纏,盡量以實例說話。我想,與其憑空說一個技術多好多好,倒不如給我一個可以上手的實例操作一下。好了,不多說廢話了。     
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久治县| 古浪县| 威宁| 锡林郭勒盟| 望奎县| 诏安县| 麻栗坡县| 深泽县| 疏勒县| 铅山县| 牟定县| 深泽县| 聂拉木县| 敦煌市| 竹北市| 苗栗县| 徐闻县| 泸溪县| 新安县| 鄂伦春自治旗| 长兴县| 门头沟区| 北流市| 盘锦市| 华宁县| 吕梁市| 平顶山市| 吐鲁番市| 杭锦后旗| 讷河市| 和平县| 嵩明县| 克什克腾旗| 灌云县| 蒙城县| 集贤县| 江孜县| 尤溪县| 汝阳县| 永昌县| 宁德市|