Hibernate需要提前知道 - 在哪里可以找到定义Java类与数据库表的关系的映射信息. Hibernate还需要一组与数据库和其他相关参数相关的配置设置.所有这些信息通常作为标准的Java属性文件提供,名为 hibernate.properties ,或者作为名为 hibernate.cfg.xml 的XML文件提供.
我将考虑使用XML格式的文件 hibernate.cfg.xml 来在我的示例中指定所需的Hibernate属性.大多数属性采用其默认值,除非确实需要,否则不需要在属性文件中指定它们.此文件保存在应用程序类路径的根目录中.
Hibernate属性
以下是重要属性的列表,您将需要在独立情况下配置数据库 :
Sr.No. | 属性&描述 |
---|---|
1 | hibernate.dialect 此属性使Hibernate为所选数据库生成适当的SQL. |
2 | hibernate.connection.driver_class JDBC驱动程序类. |
3 | hibernate.connection.url 数据库的JDBC URL实例. |
4 | hibernate.connection.username 数据库用户名. |
5 | hibernate.connection.password 数据库密码. |
6 | hibernate.connection.pool_size 限制在Hibernate中等待的连接数databa se连接池. |
7 | hibernate.connection.autocommit 允许自动提交模式用于JDBC连接. |
如果您正在使用数据库以及应用程序服务器和JNDI,那么您必须配置以下属性 :
Sr.No. | 属性&说明 |
---|---|
1 | hibernate.connection.datasource 您在应用程序服务器上下文中定义的JNDI名称. |
2 | hibernate.jndi.class JNDI的InitialContext类. |
3 | hibernate.jndi.< JNDIpropertyname> 将您喜欢的任何JNDI属性传递给JNDI InitialContext . |
4 | hibernate.jndi.url 提供的网址JNDI. |
5 | hibernate.connection.username 数据库用户名. |
6 | hibernate.connection.password 数据库密码. |
使用MySQL数据库进行休眠
MySQL是目前最流行的开源数据库系统之一.让我们创建 hibernate.cfg.xml 配置文件,并将其放在应用程序类路径的根目录中.您必须确保MySQL数据库中有 testdb 数据库,并且您可以使用 test 来访问数据库.
XML配置文件必须符合Hibernate 3 Configuration DTD,可在 http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd .
org.hibernate.dialect.MySQLDialect com.mysql.jdbc.Driver jdbc:mysql://localhost/test root root123
上面的配置文件包含< mapping> 标签,这些标签与hibernatemapping文件有关,我们将在下一章中看到确切地说是一个hibernate映射文件以及我们如何以及为什么使用它?
以下是各种重要数据库的列表dialect属性类型 :
Sr.No. | 数据库&方言属性 |
---|---|
1 | DB2 org.hibernate.dialect.DB2Dialect |
2 | HSQLDB org.hibernate.dialect.HSQLDialect |
3 | HypersonicSQL org.hibernate.dialect.HSQLDialect |
4 | Informix org.hibernate.dialect.InformixDialect |
5 | Ingres org.hibernate.dialect.IngresDialect |
6 | Interbase org.hibernate.dialect.InterbaseDialect |
7 | Microsoft SQL Server 2000 或g.hibernate.dialect.SQLServerDialect |
8 | Microsoft SQL Server 2005 org.hibernate.dialect.SQLServer2005Dialect |
9 | Microsoft SQL Server 2008 org.hibernate.dialect.SQLServer2008Dialect |
10 | MySQL org.hibernate.dialect.MySQLDialect |
11 | Oracle(任何版本) org.hibernate. dialect.OracleDialect |
12 | Oracle 11g org.hibernate.dialect.Oracle10gDialect |
13 | Oracle 10g org.hibernate.dialect.Oracle10gDialect |
14 | Oracle 9i org.hibernate.dialect.Oracle9iDialect |
15 | PostgreSQL org.hibernate.dialect. PostgreSQLDialect |
16 | 进度 org.hibernate.dialect.ProgressDialect |
17 | SAP DB org.hibernate.dialect.SAPDBDialect |
18 | Sybase org.hibernate .dialect.SybaseDialect |
19 | Sybase Anywhere org.hibernate.dialect.SybaseAnywhereDialect |