- Hibernate教程
- Hibernate - 主页
- ORM - 概述
- Hibernate - 概述
- Hibernate - 架构
- Hibernate - 环境
- Hibernate - 配置
- Hibernate - 会话
- Hibernate - 持久类
- Hibernate - 映射文件
- Hibernate - 映射类型
- Hibernate - 示例
- Hibernate - O/R 映射
- Hibernate - 注释
- Hibernate - 查询语言
- Hibernate - 标准查询
- Hibernate - 原生 SQL
- Hibernate - 缓存
- Hibernate - 批处理
- Hibernate - 拦截器
- Hibernate 有用资源
- Hibernate - 问题与解答
- Hibernate - 快速指南
- Hibernate - 有用的资源
- Hibernate - 讨论
Hibernate - 配置
Hibernate 需要提前知道在哪里可以找到定义 Java 类与数据库表如何关联的映射信息。Hibernate还需要一组与数据库和其他相关参数相关的配置设置。所有这些信息通常作为名为hibernate.properties的标准 Java 属性文件或名为hibernate.cfg.xml的 XML 文件提供。
我将考虑使用 XML 格式的文件hibernate.cfg.xml在我的示例中指定所需的 Hibernate 属性。大多数属性都采用默认值,除非确实需要,否则不需要在属性文件中指定它们。该文件保存在应用程序类路径的根目录中。
Hibernate属性
以下是重要属性的列表,您将需要在独立情况下配置数据库 -
先生。 | 属性及说明 |
---|---|
1 |
hibernate方言 此属性使 Hibernate 为所选数据库生成适当的 SQL。 |
2 | hibernate.connection.driver_class JDBC 驱动程序类。 |
3 | hibernate.connection.url 数据库实例的 JDBC URL。 |
4 | hibernate.connection.用户名 数据库用户名。 |
5 | Hibernate.连接.密码 数据库密码。 |
6 | hibernate.connection.pool_size 限制 Hibernate 数据库连接池中等待的连接数。 |
7 | hibernate.connection.autocommit 允许 JDBC 连接使用自动提交模式。 |
如果您将数据库与应用程序服务器和 JNDI 一起使用,那么您必须配置以下属性 -
先生。 | 属性及说明 |
---|---|
1 | hibernate.connection.datasource 在应用程序服务器上下文中定义的 JNDI 名称,您正在将其用于应用程序。 |
2 | hibernate.jndi.类 JNDI 的 InitialContext 类。 |
3 | hibernate.jndi.<JNDI 属性名称> 将您喜欢的任何 JNDI 属性传递给 JNDI InitialContext。 |
4 | hibernate.jndi.url 提供 JNDI 的 URL。 |
5 | hibernate.connection.用户名 数据库用户名。 |
6 | Hibernate.连接.密码 数据库密码。 |
使用 MySQL 数据库进行Hibernate
MySQL 是当今最流行的开源数据库系统之一。让我们创建hibernate.cfg.xml配置文件并将其放置在应用程序类路径的根目录中。您必须确保 MySQL 数据库中有可用的testdb数据库,并且有可用于访问该数据库的用户test 。
XML 配置文件必须符合 Hibernate 3 配置 DTD,该 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>
上面的配置文件包含<mapping>标签,这些标签与 hibernate 映射文件相关,我们将在下一章中看到 hibernate 映射文件到底是什么以及我们如何以及为什么使用它?
以下是各种重要数据库方言属性类型的列表 -
先生。 | 数据库和方言属性 |
---|---|
1 |
数据库2 org.hibernate.dialect.DB2Dialect |
2 |
HSQL数据库 org.hibernate.dialect.HSQLDialect |
3 |
超音速SQL org.hibernate.dialect.HSQLDialect |
4 |
信息系统 org.hibernate.dialect.InformixDialect |
5 |
安格尔 org.hibernate.dialect.IngresDialect |
6 |
英特贝斯 org.hibernate.dialect.InterbaseDialect |
7 |
微软SQL服务器2000 org.hibernate.dialect.SQLServerDialect |
8 |
微软SQL服务器2005 org.hibernate.dialect.SQLServer2005Dialect |
9 |
微软 SQL Server 2008 org.hibernate.dialect.SQLServer2008Dialect |
10 |
MySQL org.hibernate.dialect.MySQLDialect |
11 |
Oracle(任何版本) org.hibernate.dialect.OracleDialect |
12 |
甲骨文11g org.hibernate.dialect.Oracle10gDialect |
13 |
甲骨文10g org.hibernate.dialect.Oracle10gDialect |
14 |
甲骨文9i org.hibernate.dialect.Oracle9iDialect |
15 |
PostgreSQL org.hibernate.dialect.PostgreSQLDialect |
16 |
进步 org.hibernate.dialect.ProgressDialect |
17 号 |
SAP数据库 org.hibernate.dialect.SAPDBDialect |
18 |
赛贝斯 org.hibernate.dialect.SybaseDialect |
19 |
Sybase 无处不在 org.hibernate.dialect.SybaseAnywhereDialect |