Hibernate入门01-Hibernate所需类库

Hibernate是ORM的解决方案,其底层对数据库的操作依赖于JDBC,所以您必须先取得JDBC驱动程序,在这边我们使用的是MySQL,所以您必须至以下网址先取得MySQL的JDBC驱动程序:
JDBC驱动程序
 接下来取得Hibernate,在撰写此文的同时,Hibernate最后的稳定版本是2.1.6,而3.0版还在测试阶段,这边的介绍将以2.1.6为主,所以请至以下网址取得hibernate-2.1.6.zip:
Hibernate官方网站
 解开hibernate-2.1.6.zip后,当中的hibernate2.jar是必要的,而在lib目录中还包括了许多jar档案,其中 dom4j、CGLIB、Commons Collections、Commons Logging、ODMG4、EHCache是必要的,而Log4j则是建议使用的,为何使用这些jar,在Hibernate参考手册中有说明,您可以开启doc/reference中的参考手册,有英文版与简体中文版的介绍,档案格式则提供有html与pdf两种,以下列出简体中文中的说明:
  • dom4j(必需):Hibernate在解析XML配置和XML映像元文件时需要使用dom4j。
  • CGLIB(必需):Hibernate在运行时使用这个代码生成库强化类(与Java反射机制联合使用)。
  • Commons Collections, Commons Logging(必需):Hibernate使用Apache Jakarta Commons项目提供的多个工具类库。
  • ODMG4(必需):Hibernate提供了一个可选的ODMG兼容持久化管理界面。如果你需要映像集合,你就需要这个类库,就算你不是为了使用ODMG API。
  • EHCache(必需):Hibernate可以使用不同的第二级Cache方案。如果没有修改配置的话,EHCache提供默认的Cache。
  • Log4j(可选):Hibernate使用Commons Logging API,后者可以使用Log4j作为底层实施log的机制。如果上下文类目录中存在Log4j库,Commons Logging就会使用Log4j和它在上下文类路径中找到的log4j.properties文件。在Hibernate发行包中包含有一个示例的 properties文件。所以,如果你想看看幕后到底发生了什么,也把log4j.jar拷贝到你的上下文类路径去吧(它位于src/目录中)。
以上是 Hibernate参考手册所列出的jar档案,Hibernate底层还需要Java Transaction API,所以您还需要jta.jar,到这边为止,总共需要十个jar档案:
mysql-connector-java-3.0.14-production-bin.jar
jta.jar
hibernate2.jar
cglib-full-2.0.2.jar
commons-collections-2.1.1.jar
commons-logging-1.0.4.jar
dom4j-1.4.jar
ehcache-0.9.jar
log4j-1.2.8.jar
odmg-3.0.jar

 其它的jar档案则视您的需要来设定,例如您应该也会使用到Ant,这对于自动化建构Hibernate有相当的帮助,您可以先查看我另一个版面上有关于Ant的介绍:
Ant入门
 Hibernate可以运行于单机之上,也可以运行于Web应用程序之中,如果是运行于单机,则将所有用到的jar档案(包括JDBC驱动程序)设定至 CLASSPATH中,如果是运行于Web应用程序中,则将jar档案置放于WEB-INF/lib中,其中JDBC驱动程序也可以依赖于JNDI 来取得资源,设定的方式之后介绍,或者您也可以先看看这篇文章有关于DBCP的介绍:
DBCP介绍
 准备好这些档案后,我们下一个主题将介绍一个快速入门的例子。

既然在eclipse环境下工作,最好所有相关的工作都能在它里面完成。hibernate自带了一个工具schemaExport,可以让你从map文件产生数据库的ddl。
在eclipse project中新建一个目录,schemae,然后新建两个文件。schemae.xml,schema.properties。
schema.properties的内容:
neededClassPath=c:/hibernate-2.1.4/hibernate-2.1/hibernate2.jar;c:/hibernate-2.1.4/hibernate-2.1/lib/dom4j-1.4.jar;c:/hibernate-2.1.4/hibernate-2.1/lib/commons-collections-2.1.jar;c:/hibernate-2.1.4/hibernate-2.1/lib/commons-logging-1.0.3.jar;c:/hsqldb_1_7_1/hsqldb/lib/hsqldb.jar;D:/eclipse-SDK-2.1.2-win32/eclipse/workspace/fhjsj/bin/;D:/eclipse-SDK-2.1.2-win32/eclipse/workspace/fhjsj/fhjsj/WEB-INF/classes/
schema.xml的内容:
<!-- Copyright (c) 2002 by ObjectLearn. All Rights Reserved. -->
<project name="schemaExport"  default="schemaexport"  basedir=".">
  <property file="schemae.properties"/>
 
  <target name="schemaexport">
    <taskdef name="schemaexport"
        classname="net.sf.hibernate.tool.hbm2ddl.SchemaExportTask"
        classpath="${neededClassPath}"/>
    <schemaexport
        quiet="no"
        text="true"
        drop="no"
        delimiter=";"
        output="workspace/fhjsj/schemae/schema-export.sql">
        <fileset dir="../fhjsj/WEB-INF/classes/">
            <include name="**/*.hbm.xml"/>
        </fileset>
    </schemaexport>
</target>
</project>
其它的hibernate.properties和mapping 文件根据web程序的规范放在WEB-INF的classes里面。最后产生的ddl文件放在schemae目录下面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值