久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

利用Eclipse開發(fā)Hibernate應(yīng)用程序

 pengyan 2006-12-29
利用Eclipse開發(fā)Hibernate應(yīng)用程序

時(shí)間:2006-01-24
作者:俞黎敏
瀏覽次數(shù): 21116
本文關(guān)鍵字:EclipseHibernate插件ORM
文章工具
推薦給朋友 推薦給朋友
打印文章 打印文章

  介紹如何利用Hibernate Synchronizer插件在Eclipse 3.0.1中快速的開發(fā)Hibernate應(yīng)用程序,提高我們的工作效率,。

  Eclipse是目前非常流行的開發(fā)平臺(tái),開放擴(kuò)展的架構(gòu)讓很多程序員找到了自己個(gè)性化的工作環(huán)境,,Hibernate也是目前很流行的O/R Mapping框架,,至少在EJB 3.0大行其道之前,它是我們?cè)诳紤]O/R Mapping時(shí)非常好的選擇,。

  關(guān)于Hibernate框架的細(xì)節(jié),,請(qǐng)參考《Hibernate in Action》一書。

  首先需要安裝這個(gè)插件,,Eclipse 3.0.1為我們提供了更加方便的插件管理方式,,選擇菜單“幫助—軟件更新—查找并安裝”,選擇“搜索要安裝的新功能部件”,,操作界面如下:

  選擇 New Remote Site ,,填寫名稱 Hibernate PlugIn ,,下面的URL中填入:http://www./hibernatesync

如下圖:

  然后在“安裝”界面中選中我們剛添加的 Hibernate PlugIn ,打開它,,選中下一級(jí)的Synchronizer,,然后Next,以下的安裝根據(jù)提示進(jìn)行Next即可了,。
  Eclipse就可以自己下載完成安裝,,然后Eclipse自動(dòng)重啟動(dòng)一次就完成了。

Spring PlugIn的地址為:
http://springframework./spring-ide/eclipse/updatesite/
安裝配置類似于Hibernate PlugIn的安裝,。

Spring的地址為:
http://www./

  下面演示一個(gè)最簡(jiǎn)單的單表操作,,讓我們熟悉開發(fā)過程。我們選擇MySQL數(shù)據(jù)庫來做這個(gè)應(yīng)用,,首先在MySQL里建立一個(gè)新的數(shù)據(jù)庫為HibernateTest,,再建立一個(gè)數(shù)據(jù)表,名為Person,,包含ID, Name, Sex, Address四個(gè)字段,,建表語句如下:

# Host: localhost
# Database: hibernatetest
# Table: ‘person‘
#
CREATE TABLE `person` (
`ID` int(11) NOT NULL auto_increment,
`Name` varchar(20) NOT NULL default ‘‘,
`Sex` char(1) default NULL,
`Address` varchar(200) default NULL,
PRIMARY KEY  (`ID`)
) TYPE=MyISAM;

  然后新建一個(gè)普通的Java項(xiàng)目:“File -> Project -> New Project ->Java Project

  輸入項(xiàng)目名稱:HibernateMySQL

  注意加入Hibernate的所有l(wèi)ib文件,包括有Hibernate下面的hibernate2.jar和lib目錄下面的所有.jar文件,;
還有要加入MySQL的jdbc驅(qū)動(dòng)文件,,比如mysql-connector-java-3.0.14-production-bin.jar
驅(qū)動(dòng)程序自己選擇加載,版本不同,,文件名也不同:)

  下面我們需要在項(xiàng)目中加入一個(gè)Hibernate的配置文件,,在src目錄下選擇 New -> Other -> Hibernate -> Hibernate Configuration File,如下圖:

  在彈出的界面中,,你需要指定要使用的數(shù)據(jù)庫,,以及連接數(shù)據(jù)庫所需要的信息,我們對(duì)應(yīng)的選擇了數(shù)據(jù)庫為MySQL,,并配置了數(shù)據(jù)庫的URL和管理員賬號(hào)與密碼,,如下:

Database Type: QL
Driver Class:  org.git.mm.mysql.Driver
Database URL: jdbc:mysql://localhost:3306/HibernateTest
Username: root
Password:

  點(diǎn)擊Browse按鈕,在彈出的框中輸入Driver,,在下面就會(huì)出現(xiàn)相應(yīng)的驅(qū)動(dòng)所在的包
我們選中org.git.mm.mysql.Driver所在的包的文件,,確定即可。

  在上圖中,,我們還可以指定從JNDI數(shù)據(jù)源中獲得連接,,可以點(diǎn)擊 Datasource 標(biāo)簽進(jìn)行配置。

  點(diǎn)擊 Finish 按鈕之后系統(tǒng)會(huì)自己生成一個(gè)名為 hibernate.cfg.xml 的文件,,里面包含了基本的配置信息,,如果需要高級(jí)配置,可以手動(dòng)配置,,也可以通過其它插件來進(jìn)行編輯,,比如MyEclipse的XML Editor

  下面要生成映射文件,,首先新建一個(gè)包 New -> Package,輸入net.echochina.hibernatetest

  在這個(gè)包下選擇 New -> Other -> Hibernate -> Hibernate Mapping File ,,在彈出的界面中點(diǎn)擊 Refresh 按鈕,,將會(huì)列出庫中所有的數(shù)據(jù)表,選中我們要使用的 Person 表,,點(diǎn)擊 Browse 按鈕,,選擇我們所要生成的POJO文件所在的包:net.echochina.hibernatetest

如下圖:

  在上述界面的 Properties 標(biāo)簽中可以配置hbm的其他選項(xiàng),包括文件擴(kuò)展名,,聚合列名,,ID生成規(guī)則等。完成后,,系統(tǒng)會(huì)自動(dòng)生成一個(gè)名為 Person.hbm 的文件,,我們可以通過這個(gè)文件生成相關(guān)的存根類。

  在Person.hbm文件上單擊右鍵,,選擇 Hibernate Synchronizer -> Synchronize Files

  該操作將生成三個(gè)包八個(gè)類文件,,里面封裝了Hibernate的操作細(xì)節(jié),讓我們可以專心面對(duì)業(yè)務(wù)邏輯的開發(fā),,仔細(xì)閱讀這些文件可以提高你對(duì)Hibernate的認(rèn)識(shí),,增長(zhǎng)應(yīng)用技巧。

  然后我們需要在Hibernate的配置文件中添加對(duì)Person 的相關(guān)信息,,在Person.hbm上單擊右鍵,,選擇Synchronizer -> Add Mapping Reference

  現(xiàn)在我們可以開始編寫自己的程序邏輯了,代碼可以寫在
net.echochina.hibernatetest.dao.PersonDAO類中,,這個(gè)類的代碼不會(huì)被插件進(jìn)行修改的,。

  首先在數(shù)據(jù)庫里增加一條新的記錄
  在PersonDAO類中增加一個(gè)引入import net.echochina.hibernatetest.Person;
  然后加入一個(gè)main方法,內(nèi)容如下:

public static void main(String args[])
{
try
{
_RootDAO.initialize();
PersonDAO persondao = new PersonDAO();
Person person = new Person();
person.setName("YuLimin");
person.setSex("M");
person.setAddress("http://Java.EchoChina.net");
persondao.save(person);
}
catch(Exception e)
{
e.printStackTrace();
}
}

  //測(cè)試MySQL的中文問題:更改內(nèi)容如下,,把setName的參數(shù)改為中文的內(nèi)容:

person.setName("俞黎敏");

  這里應(yīng)當(dāng)?shù)絟ibernate.cfg.xml文件的<session-factory/>塊中增加上如下兩行設(shè)置

<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">GBK</property>

  這樣插入數(shù)據(jù)與讀取數(shù)據(jù)時(shí)才不會(huì)有中文的問題,,如果仍有中文問題請(qǐng)Google吧:)

  可以看出,插件已經(jīng)把session操作和事務(wù)操作都封裝起來了,,我們的代碼工作得到了極大的簡(jiǎn)化,。而且我們可以利用插件自帶的Hibernate Editor來編輯hbm文件,非常方便,。
  我們還需要把ID的生成方式改為 identity,右鍵Person.hbm,,Open With -> Hibernate Editor

 

  把ID的生成方式改為 identity

  要讓這個(gè)程序正常運(yùn)行,,還需要對(duì)配置文件hibernate.cfg.xml作一些修改。
  使用Eclipse的 文本編輯器 打開該文件,,其中有如下的內(nèi)容:

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

  由于在我們的例子中,,并沒有使用JTA來控制事務(wù),,所以需要將上面的內(nèi)容注釋掉,程序才能正常運(yùn)行,。

  現(xiàn)在可以開始運(yùn)行了,,點(diǎn)擊Run

  在出現(xiàn)的配置中選擇Java Application,Name中輸入PersonDAO

  單擊Search 按鈕,,在彈出地框中選擇net.echochina.hibernatetest包中的PersonDAO類

  OK之后,,點(diǎn)擊Run開始運(yùn)行,如果以上各步操作正確的話,,可以看到數(shù)據(jù)已經(jīng)被保存到數(shù)據(jù)庫,。

  如果在實(shí)際開發(fā)工作中,需要重新設(shè)計(jì)數(shù)據(jù)表結(jié)構(gòu),,那么只需要在.hbm文件中做相應(yīng)的修改,,然后執(zhí)行 Synchronize and Overwrite 的操作,插件會(huì)重新生成存根文件,,我們只需要修改程序邏輯就可以了,,非常方便。有了這樣的功能插件,,我們可以極大的從配置文件的編寫,、查錯(cuò)中解脫出來,從而提高我們的工作效率,。

Hibernate 常用工具

Hibernate Synchronizer 很好的輔助開發(fā)工具,,是一個(gè)Eclipse 的插件,可以生成80%的代碼,,首選,。
MyEclipse 安裝的 3.8.3 感覺非常的強(qiáng)大,主要是因?yàn)樗歉顿M(fèi)的,,做得比較全面,,喜歡他們的struts 組件,開發(fā) Struts 必不可少,。
Hibernator Hibernate查詢的輔助工具,,可以使用 HSQL進(jìn)行查詢,測(cè)試HSQL的好工具,,是個(gè)Eclipse插件,。
Hibern8IDE(現(xiàn)更名為:HibernateConsole) 一個(gè)單獨(dú)運(yùn)行的Hibernate工具,可以運(yùn)行 Hibernate Query Language (HQL)語句,。
MiddleGen 生成持久對(duì)象的工具,,可以生成

Persistence layer with EJB (CMP 2.0)
Persistence layer with JDO
Persistence layer with Hibernate
Persistence layer with Torque
Database GUI with JSP/Struts

http://spindle. 開發(fā)Tapestry的必備

http://springui. 寫Spring Application Context File的輔助好工具
dot dot dot

dot
  作者其它文章

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多