2021-05-10

Hibernate的环境与配置

环境

这个章节会告诉你为了给 Hibernate 应用准备需要的开发环境,该怎样安装 Hibernate 应用和一些其它相关的包。我们会用 MySQL 数据库来对一些 Hibernate 应用的例子进行试验,所以先要确保你已经安装过了 MySQL 数据库。想了解更多的关于 MySQL 数据库的详情的话,你可以搜索我们的 MySQL教程

下载 Hibernate

如果你已经在你的机器上安装了 Java 的最新版本,那么按照以下这些简易的步骤来下载并安装 Hibernate 在你的机器上就可以了。

  • 首先要在想要把 Hibernate 应用安装在 Windows 系统或是 Unix 系统这两者之间做出选择,之后继续到下一个步骤去下载与 Windows 系统对应的 .zip 文件或是与 Unix 系统对应的 .tz 文件。
  • 之后到 http://www.hibernate.org/downloads 这个网址来下载最新版本的 Hibernate 应用。
  • 在写这个教程时我下载的是 hibernate-distribution-3.6.4.Final 这个版本的应用,在这个版本的应用下当我们解压下载的文件时会显示以下的目录结构。

image

安装 Hibernate

一旦你下好并且解压了 Hibernate 应用最新版本的安装文件,你需要执行以下两个简单的步骤。一定要确保你把你的 CLASSPATH 变量设置合理,否则当你编译你的应用时可能会遇到问题。

  • 首先把从 /lib 复制来的所有库文件拷贝到 CLASSPATH 里,并且改变你的 CLASSPATH 变量来涵盖所有的 JAR。
  • 最后复制 hibernate3.jar 这个文件到 CLASSPATH 里。这个文件位于安装文件的根目录里,它是 Hibernate 应用针对的主要 JAR。

Hibernate 的前提

以下是一个 Hibernate 应用需要的有关包/库的表格,在安装 Hibernate 应用之前你需要先安装它们。为了安装这些包你必须把来自 /lib 的库文件拷贝到 CLASSPATH ,并按以下说明相应地改变 CLASSPATH 变量。

S.N.包/库
1dom4j - XML 解析 www.dom4j.org/
2Xalan - XSLT 处理器  http://xml.apache.org/xalan-j/
3Xerces - The Xerces Java 解析器  http://xml.apache.org/xerces-j/
4cglib -Java 类生成库 http://cglib.sourceforge.net/
5log4j - 日志控制  http://logging.apache.org/log4j
6Commons - 日志,邮件等  http://jakarta.apache.org/commons
7

SLF4J - 简单日志门面  http://www.slf4j.org

配置

Hibernate 需要事先知道在哪里找到映射信息,这些映射信息定义了 Java 类怎样关联到数据库表。Hibernate 也需要一套相关数据库和其它相关参数的配置设置。所有这些信息通常是作为一个标准的 Java 属性文件提供的,名叫 hibernate.properties。又或者是作为 XML 文件提供的,名叫 hibernate.cfg.xml

我们将考虑 hibernate.cfg.xml 这个 XML 格式文件,来决定在我的例子里指定需要的 Hibernate 应用属性。这个 XML 文件中大多数的属性是不需要修改的。这个文件保存在应用程序的类路径的根目录里。

Hibernate 属性

下面是一个重要的属性列表,你可能需要表中的属性来在单独的情况下配置数据库。

S.N.属性和描述
1hibernate.dialect
这个属性使 Hibernate 应用为被选择的数据库生成适当的 SQL。
2hibernate.connection.driver_class
JDBC 驱动程序类。
3hibernate.connection.url
数据库实例的 JDBC URL。
4hibernate.connection.username
数据库用户名。
5hibernate.connection.password
数据库密码。
6hibernate.connection.pool_size
限制在 Hibernate 应用数据库连接池中连接的数量。
7hibernate.connection.autocommit
允许在 JDBC 连接中使用自动提交模式。

如果您正在使用 JNDI 和数据库应用程序服务器然后您必须配置以下属性:

S.N.属性和描述
1hibernate.connection.datasource
在应用程序服务器环境中您正在使用的应用程序 JNDI 名。
2hibernate.jndi.class
JNDI 的 InitialContext 类。
3hibernate.jndi.<JNDIpropertyname>
在 JNDI的 InitialContext 类中通过任何你想要的 Java 命名和目录接口属性。
4hibernate.jndi.url
为 JNDI 提供 URL。
5hibernate.connection.username
数据库用户名。
6hibernate.connection.password
数据库密码。

Hibernate 和 MySQL 数据库

MySQL 数据库是目前可用的开源数据库系统中最受欢迎的数据库之一。我们要创建 hibernate.cfg.xml 配置文件并将其放置在应用程序的 CLASSPATH 的根目录里。你要确保在你的 MySQL 数据库中 testdb 数据库是可用的,而且你要有一个用户 test 可用来访问数据库。

XML 配置文件一定要遵守 Hibernate 3 Configuration DTD,在 http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd. 这个网址中是可以找到的。

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration SYSTEM 
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
   <session-factory>
   <property name="hibernate.dialect">
      org.hibernate.dialect.MySQLDialect
   </property>
   <property name="hibernate.connection.driver_class">
      com.mysql.jdbc.Driver
   </property>

   <!-- Assume test is the database name -->
   <property name="hibernate.connection.url">
      jdbc:mysql://localhost/test
   </property>
   <property name="hibernate.connection.username">
      root
   </property>
   <property name="hibernate.connection.password">
      root123
   </property>

   <!-- List of XML mapping files -->
   <mapping resource="Employee.hbm.xml"/>

</session-factory>
</hibernate-configuration> 

上面的配置文件包含与 hibernate-mapping 文件相关的 <mapping> 标签,我们将在下章看看 hibernate mapping 文件到底是什么并且要知道为什么用它,怎样用它。以下是各种重要数据库同源语属性类型的列表:

数据库方言属性
DB2org.hibernate.dialect.DB2Dialect
HSQLDBorg.hibernate.dialect.HSQLDialect
HypersonicSQLorg.hibernate.dialect.HSQLDialect
Informixorg.hibernate.dialect.InformixDialect
Ingresorg.hibernate.dialect.IngresDialect
Interbaseorg.hibernate.dialect.InterbaseDialect
Microsoft SQL Server 2000org.hibernate.dialect.SQLServerDialect
Microsoft SQL Server 2005org.hibernate.dialect.SQLServer2005Dialect
Microsoft SQL Server 2008org.hibernate.dialect.SQLServer2008Dialect
MySQLorg.hibernate.dialect.MySQLDialect
Oracle (any version)org.hibernate.dialect.OracleDialect
Oracle 11gorg.hibernate.dialect.Oracle10gDialect
Oracle 10gorg.hibernate.dialect.Oracle10gDialect
Oracle 9iorg.hibernate.dialect.Oracle9iDialect
PostgreSQLorg.hibernate.dialect.PostgreSQLDialect
Progressorg.hibernate.dialect.ProgressDialect
SAP DBorg.hibernate.dialect.SAPDBDialect
Sybaseorg.hibernate.dialect.SybaseDialect
Sybase Anywhereorg.hibernate.dialect.SybaseAnywhereDialec

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值