扫码一下
查看教程更方便
hibernate 需要提前知道——在哪里可以找到定义 java 类如何与数据库表相关的映射信息。hibernate 还需要一组与数据库和其他相关参数相关的配置设置。 所有这些信息通常以名为 hibernate.properties
的标准 java 属性文件或名为 hibernate.cfg.xml
的 xml 文件的形式提供。
我们将考虑使用 xml 格式的文件 hibernate.cfg.xml
在示例中指定所需的 hibernate 属性。 大多数属性都采用默认值,除非确实需要,否则不需要在属性文件中指定它们。 该文件保存在应用程序类路径的根目录中。
以下是重要属性的列表,我们将需要在独立情况下为数据库进行配置
序号 | 属性 | 描述 |
---|---|---|
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 数据库连接池中等待的连接数。 |
7 | hibernate.connection.autocommit | 允许将自动提交模式用于 jdbc 连接。 |
如果我们将数据库与应用程序服务器和 jndi 一起使用,则必须配置以下属性
序号 | 属性 | 描述 |
---|---|---|
1 | hibernate.connection.datasource | 在应用程序服务器上下文中定义的 jndi 名称,用于应用程序。 |
2 | hibernate.jndi.class | jndi 的 initialcontext 类。 |
3 | hibernate.jndi. |
将我们喜欢的任何 jndi 属性传递给 jndi initialcontext。 |
4 | hibernate.jndi.url | 提供 jndi 的 url。 |
5 | hibernate.connection.username | 数据库用户名。 |
6 | hibernate.connection.password | 数据库密码。 |
mysql 是当今最流行的开源数据库系统之一。 让我们创建 hibernate.cfg.xml
配置文件并将其放在应用程序类路径的根目录中。 我们必须确保 mysql 数据库中有可用的测试数据库 - hibernate_demo,并且有一个可用于访问数据库的测试用户。
xml 配置文件必须符合 hibernate 3 configuration dtd,我们可在 中获得。
org.hibernate.dialect.mysql5innodbdialect
com.mysql.jdbc.driver
jdbc:mysql://localhost:3306/hibernate_demo
root
123456
update
上面的配置文件包含
以下是各种重要数据库方言属性类型的列表
序号 | 数据库 | 属性 |
---|---|---|
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 | org.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 (任何版本) | rg.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 | progress | org.hibernate.dialect.progressdialect |
17 | sap db | org.hibernate.dialect.sapdbdialect |
18 | sybase | org.hibernate.dialect.sybasedialect |
19 | sybase anywhere | org.hibernate.dialect.sybaseanywheredialect |