📜  Hibernate – 使用 XML 文件的每个具体类的表(1)

📅  最后修改于: 2023-12-03 14:41:43.469000             🧑  作者: Mango

Hibernate – 使用 XML 文件的每个具体类的表

Hibernate 是一个流行的 ORM 框架,可以帮助程序员轻松地将对象映射到数据库表中。在本文中,我们将介绍如何使用 Hibernate 的 XML 映射文件,以建立具体类的表。

建立具体类的表

首先,在我们开始创建具体类的表之前,我们需要配置好 Hibernate。例如,我们需要设置 hibernate.cfg.xml 文件中的数据库连接信息和日志级别等。这超出了本文的范畴,但是请确保你已经完成了这些设置。

在 Hibernate 中,具体类映射到表的方式是通过一个 XML 映射文件来配置的。每个具体类应该有自己的映射文件。下面是一个示例映射文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.example.domain">
    <class name="Person" table="person">
        <id name="id" column="id">
            <generator class="native"/>
        </id>
        <property name="name" column="name"/>
        <property name="age" column="age"/>
    </class>
</hibernate-mapping>

在上面的示例中,我们定义了一个 Person 类,并将其映射到 person 表。我们使用了 <id> 元素来指定主键,该元素包含 <generator> 元素,用于生成主键值。我们还使用了 <property> 元素来指定映射类属性和数据库列之间的映射。

请注意,在映射文件的第一行中,我们使用了一个 package 属性,指定了 Person 类所在的包。这对于 Hibernate 来说是必需的,因为它需要知道在哪里可以找到这个类。

加载映射文件

一旦我们已经创建了映射文件,我们需要将其加载到 Hibernate 中。这可以通过两种方式来完成。

第一种方式是将映射文件添加到 hibernate.cfg.xml 文件中,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">root</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
        <property name="hibernate.show_sql">true</property>
        <mapping resource="com/example/domain/Person.hbm.xml"/>
    </session-factory>
</hibernate-configuration>

在上面的示例中,我们使用 <mapping> 元素将 Person 类的映射文件添加到 hibernate.cfg.xml 文件中。

第二种方式是在运行时将映射文件加载到 Hibernate 中,通过下面的代码:

Configuration configuration = new Configuration();
configuration.addResource("com/example/domain/Person.hbm.xml");
SessionFactory sessionFactory = configuration.buildSessionFactory();

在上面的示例中,我们使用 Configuration 类来创建 Hibernate 配置对象,并使用 addResource() 方法将 Person 类的映射文件添加到配置对象中。然后,我们使用 buildSessionFactory() 方法来创建 SessionFactory 对象,以便与数据库进行交互。

总结

在本文中,我们介绍了使用 Hibernate 的 XML 映射文件,以将具体类映射到数据库表中。我们演示了如何创建一个映射文件,并将其加载到 Hibernate 中。这对于使用 Hibernate 来处理数据库操作的程序员来说是一个很好的起点。