Hibernate環境搭建
小編:管理員 437閱讀 2022.09.14
簡單說下Hibernate環境搭建,因為剛開始自己也是窮忙活了半天,問了之后才知道什么個情況的。
使用的是MyEclipseIDE,然后從網上下載Hibernate包,一般開源框架都要到sourceforge上去下載,結果到了上面之后看到一個最新版本:hibernate-validator-4.2.0.Beta1-dist.tar,看名字我以為是經過驗證的hibernate包,于是就下載下來,發現里面少了很多jar文件,于是又上網去找,從官網上到是把hibernate的src給下載下來了。后來就問問了,發現原來sourceforge上面的源碼不是說給一個連接就表示這整個hibernate的東西,原來只是顯示最新更新過的其中的工具,插件。所有的內容是一個一個文件列表顯示在下面的。各位別犯我這樣的低級錯誤。
到此hibernate環境就搭建完了。
至于項目中需要用哪個jar包,我這里從網上摘取了一些:
(1)hibernate3.jar: Hibernate的核心庫,沒有什么可說的,必須使用的jar包 (2)cglib-asm.jar: CGLIB庫,Hibernate用它來實現PO字節碼的動態生成,非常核心的庫,必須使用的jar包 (3)dom4j.jar: dom4j是一個Java的XML API,類似于jdom,用來讀寫XML文件的。dom4j是一個非常非常優秀的Java XML API,具有性能優異、功能強大和極端易用使用的特點,同時它也是一個開放源代碼的軟件,可以在SourceForge上找到它。在IBM developerWorks上面可以找到一篇文章,對主流的Java XML API進行的性能、功能和易用性的評測,dom4j無論在那個方面都是非常出色的。我早在將近兩年之前就開始使用dom4j,直到現在。如今你可以看到越 來越多的Java軟件都在使用dom4j來讀寫XML,特別值得一提的是連Sun的JAXM也在用dom4j。這是必須使用的jar 包,Hibernate用它來讀寫配置文件。 (4)odmg.jar: ODMG是一個ORM的規范,Hibernate實現了ODMG規范,這是一個核心的庫,必須使用的jar包。 (5)commons-collections.jar: Apache Commons包中的一個,包含了一些Apache開發的集合類,功能比java.util.*強大。必須使用的jar包。 (6)commons-beanutils.jar: ??Apache Commons包中的一個,包含了一些Bean工具類類。必須使用的jar包。 (7)commons-lang.jar: Apache Commons包中的一個,包含了一些數據類型工具類,是java.lang.*的擴展。必須使用的jar包。 (8)commons-logging.jar: Apache Commons包中的一個,包含了日志功能,必須使用的jar包。這個包本身包含了一個Simple Logger,但是功能很弱。在運行的時候它會先在CLASSPATH找log4j,如果有,就使用log4j,如果沒有,就找JDK1.4帶的 java.util.logging,如果也找不到就用Simple Logger。commons-logging.jar的出現是一個歷史的的遺留的遺憾,當初Apache極力游說Sun把log4j加入JDK1.4, 然而JDK1.4項目小組已經接近發布JDK1.4產品的時間了,因此拒絕了Apache的要求,使用自己的java.util.logging,這個包 的功能比log4j差的很遠,性能也一般。 后來Apache就開發出來了commons-logging.jar用來兼容兩個logger。因此用commons-logging.jar寫的 log程序,底層的Logger是可以切換的,你可以選擇log4j,java.util.logging或者它自帶的Simple Logger。不過我仍然強烈建議使用log4j,因為log4j性能很高,log輸出信息時間幾乎等于System.out,而處理一條log平均只需 要5us。你可以在Hibernate的src目錄下找到Hibernate已經為你準備好了的log4j的配置文件,你只需要到Apache 網站去下載log4j就可以了。commons-logging.jar也是必須的jar包。 使用Hibernate必須的jar包就是以上的這幾個,剩下的都是可選的。 ant.jar: Ant編譯工具的jar包,用來編譯Hibernate源代碼的。如果你不準備修改和編譯Hibernate源代碼,那么就沒有什么用,可選的jar包 optional.jar: Ant的一個輔助包。 c3p0.jar: C3PO是一個數據庫連接池,Hibernate可以配置為使用C3PO連接池。如果你準備用這個連接池,就需要這個jar包。 proxool.jar: 也是一個連接池,同上。 commons-pool.jar, commons-dbcp.jar: DBCP數據庫連接池,Apache的Jakarta組織開發的,Tomcat4的連接池也是DBCP。 實際上Hibernate自己也實現了一個非常非常簡單的數據庫連接池,加上上面3個,你實際上可以在Hibernate上選擇4種不同的數據庫連接 池,選擇哪一個看個人的偏好,不過DBCP可能更通用一些。另外強調一點,如果在EJB中使用Hibernate,一定要用App Server的連接池,不要用以上4種連接池,否則容器管理事務不起作用。 connector.jar: JCA 規范,如果你在App Server上把Hibernate配置為Connector的話,就需要這個jar。不過實際上一般App Server肯定會帶上這個包,所以實際上是多余的包。 jaas.jar: JAAS是用來進行權限驗證的,已經包含在JDK1.4里面了。所以實際上是多余的包。 jcs.jar: 如果你準備在Hibernate中使用JCS的話,那么必須包括它,否則就不用。 jdbc2_0-stdext.jar: JDBC2.0的擴展包,一般來說數據庫連接池會用上它。不過App Server都會帶上,所以也是多余的。 jta.jar: JTA規范,當Hibernate使用JTA的時候需要,不過App Server都會帶上,所以也是多余的。 junit.jar: Junit包,當你運行Hibernate自帶的測試代碼的時候需要,否則就不用。 xalan.jar, xerces.jar, xml-apis.jar: Xerces是XML解析器,Xalan是格式化器,xml-apis實際上是JAXP。一般App Server都會帶上,JDK1.4也包含了解析器,不過不是Xerces,是Crimson,效率比較差,不過Hibernate用XML只不過是讀取 配置文件,性能沒什么緊要的,所以也是多余的。 ant-1.63.jar Ant 的核心包,在構建Hibernate 時會用到 antlr-2.7.5H3.jar 語言轉換工,Hibernate利用它實現 HQL 到 SQL的轉換 asm.jar/asm-attrs.jar ASM 字節轉換庫 c3p0-0.8.5.2.jar C3PO JDBC 連接池工具 cglib-2.1.jar 高效的代碼生成工具, Hibernate用它在運行時擴展 Java類和實現 Java 接口 commons-collections-2.1.1.jar Apache 的工具集,用來增強Java對集合的處理能力 commons-logging-1.0.4.jar Apache 軟件基我組所提供的日志工具 concurrent-1.3.2.jar 線程同步工具,在使用JBoss 的樹狀緩存時需要用到 connector.jar 用連接多個應用服務器的標準連接器 dom4j-1.6.jar dom4j XML 解析器 ehcache-1.1.jar 緩存工具.在沒有提供其他緩存工具時,這個緩存工具是必不可少的 jaas.jar 標準的 Java 權限和認證服務包 jaxen-1.1-beta-4.jar 通用的 XPath 處理引擎 jboss-cache.jar JBoss 的一種樹狀緩存實現工具 jboss-common.jar Jboss 的基礎包,在使用 JBoss 的樹狀緩存時必須有此包 jboss-jmx.jar JBoss 的 JMX 實現包 jboss-system.jar JBoss 的核心,包括服務器和部署引擎 jdbc2_0-stdext.jar 標準的 JDBC 2.0 擴展API jgroups2.2.7.jar 網絡通信工具包 jta.jar 標準的 JAVA 事務處理接口 junit-3.8.1.jar JUnit 測試框架 log4.j-1.2.9.jar log4j 庫,Apache 的日志工具 oscache-2.1.jar Java 對象的緩存工具 proxool-0.8.3.jar Proxool JDBC 連接池 工具 swarmcache-1.0rc2.jar Hibernate 可以使用的一種緩存工具 versioncheck.jar 版本檢查工具包,用于在構建 Hibernate 的時候檢查輔助 jar 包文件的版本 xerces-2.6.2.jar SAX XML 解析器 xml-apis.jar Java語言中標準的XML 解析器
引入jar包之后看hibernate的文檔完成第一個Hibernate程序吧。我問師哥說ssh方面有什么好書值得看一下,他說他很少看書,看文檔就行了。該怎么做你懂的。
相關推薦
- 經典筆試題-JDBC及Hibernate篇 五、JDBC 及Hibernate:(共12 題:基礎10 道,中等難度2 道)110、數據庫,比如100 用戶同時來訪,要采取什么技術解決?【基礎】 答:可采用連接池。111、什么是ORM?【基礎】 答:對象關系映射(Object—Relational Mapping,簡稱ORM)是一種為了解決面向對象…
- Hibernate Criterion 在查詢方法設計上能夠靈活的依據Criteria的特點來方便地進行查詢條件的組裝.Hibernate設計了CriteriaSpecification作為Criteria的父接口,以下提供了Criteria和DetachedCriteria.Criteria和DetachedCriteria的主要差別在于創建的形式不一樣,Criteria是在線的,所…