內容:
介紹配置開發持久對象、編寫映射描述編寫業務邏輯在jsp中調用業務邏輯總結參考資料關于作者
java 專區中還有:
教學工具與產品代碼與組件所有文章實用技巧
陳亞強 (cyqcims@mail.tsinghua.edu.cn)
北京華園天一科技有限公司高級軟件工程師
2003 年 10 月
對象、關系的映射(ORM)是一種耗時的工作,在Java環境下,有幾種框架來表示持久數據,如實體Bean、OJB、JDO、Hibernate等。Hibernate是一種新的ORM映射工具,它不僅提供了從Java類到數據表的映射,也提供了數據查詢和恢復等機制。本文介紹怎么在Web應用開發中配置Hibernate的環境,并且使用Hibernate來開發一個具體的實例。閱讀本文前您需要以下的知識和工具:
- Tomcat 5.09,可以從 www.apache.org 下載;
- Hibernate2.0 相關運行環境,可以從 http://hibernate.bluemars.net/ 下載;
- 至少一個數據庫服務器并且有相關的JDBC驅動程序。
本文的參考資料見 參考資料。
介紹
面向對象的開發方法是當今的主流,但是同時我們不得不使用關系型數據庫,所以在企業級應用開發的環境中,對象、關系的映射(ORM)是一種耗時的工作。圍繞對象關系的映射和持久數據的訪問,在Java領域中發展起來了一些API和框架,下面分別簡單介紹。
JDBC可以說是訪問持久數據層最原始、最直接的方法。在企業級應用開發中,我們可能使用DAO(Data access Object)模式來把數據訪問封裝起來,然后在其它的層中同一調用。這種方式的優點是運行效率最高,缺點是把DAO對象和SQL語言緊密耦合在一起使得在大項目中難以維護。但是不管怎么說,使用JDBC來直接訪問持久數據層是當今企業級應用開發中使用最廣泛的。
實體Bean是J2EE平臺中用來表示和訪問持久數據的方式。雖然實體Bean是一種方便快捷的方法,但是在運行時我們需要額外購買EJB容器(當然,如今也有免費的EJB容器,如JBOSS),并且使用不同的應用服務器,需要重新書寫不同的部署描述,使得在不同應用服務器下移植企業級應用會帶來一些困難。
另外,在Java領域中,還有一些表示持久數據的框架,比如JDO和OJB,在這里就不具體介紹了。
Hibernate是一種新的ORM映射工具,它不僅提供了從Java類到數據表之間的映射,也提供了數據查詢和恢復機制。相對于使用JDBC和SQL來手工操作數據庫,使用Hibernate,可以大大減少操作數據庫的工作量。
Hibernate可以和多種Web服務器或者應用服務器良好集成,如今已經支持幾乎所有的流行的數據庫服務器(達16種)。
下面我們來介紹怎么結合Hibernate2.0和Apache Tomcat5.0在Web應用中使用Hibernate。
配置
1、 下載安裝Tomcat,并且下載Hibernate的運行環境(主要包含一些JAR包)。
2、 把要使用的數據庫的JDBC驅動程序拷貝到%TOMCAT_HOME%/common/lib目錄下。筆者使用的是MySQL,對應的驅動程序的JAR包為mm.mysql-2.0.4-bin.jar。
3、 在Tomcat的Webapps目錄下新建一個Web應用,名字為hibernate。
4、 把Hibernate提供的hibernate2.jar和一些第三方的運行庫拷貝到hibernate/WEB/INF/lib目錄下。(這些第三方的運行庫包含在下載的Hibernate lib目錄下)
5、 在%TOMCAT_HOME%/conf/server.xml中Web應用和數據源。在server.xml中加入以下的配置描述。
例程1 配置web應用
新聞熱點
疑難解答