Hibernate教程-在Eclipse中使用XML的Hibernate示例
在这里,我们将使用Eclipse IDE创建一个简单的Hibernate应用程序示例。要在Eclipse IDE中创建第一个Hibernate应用程序,我们需要按照以下步骤进行操作:
- 创建Java项目
- 添加Hibernate的jar文件
- 创建持久化类
- 为持久化类创建映射文件
- 创建配置文件
- 创建检索或存储持久对象的类
- 运行应用程序
1) 创建Java项目
通过 文件菜单 - 新建 - 项目 - Java项目 创建Java项目。现在指定项目名称,例如firsthb,然后下一步 - 完成。
2) 添加Hibernate的jar文件
要添加jar文件,右键单击项目 - 构建路径 - 添加外部归档。现在选择所有jar文件,如下图所示,然后单击打开。
在此示例中,我们将应用程序连接到Oracle数据库。因此,您必须添加ojdbc14.jar文件。
3) 创建持久化类
在这里,我们创建与前一个主题中创建的相同的持久化类。要创建持久化类,请右键单击 src - 新建 - 类 - 指定带有包名称的类(例如cn.javatiku.mypackage)- 完成。
Employee.java
package cn.javatiku.mypackage;
public class Employee {
private int id;
private String firstName, lastName;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
4) 为持久化类创建映射文件
在这里,我们创建与前一个主题中创建的相同的映射文件。要创建映射文件,请右键单击 src - 新建 - 文件 - 指定文件名(例如employee.hbm.xml)- 确定。它必须位于包外。
employee.hbm.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 5.3//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-5.3.dtd">
<hibernate-mapping>
<class name="cn.javatiku.mypackage.Employee" table="emp1000">
<id name="id">
<generator class="assigned"></generator>
</id>
<property name="firstName"></property>
<property name="lastName"></property>
</class>
</hibernate-mapping>
5) 创建配置文件
配置文件包含关于数据库的所有信息,例如connection_url、driver_class、username、password等。hbm2ddl.auto属性用于在数据库中自动创建表。我们将在后面的章节中深入学习关于Dialect类的知识。要创建配置文件,请右键单击src - 新建 - 文件。现在指定配置文件名称,例如hibernate.cfg.xml。
hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 5.3//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-5.3.dtd">
<hibernate-configuration>
<session-factory>
<property name="hbm2ddl.auto">update</property>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe</property>
<property name="connection.username">system</property>
<property name="connection.password">oracle</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<mapping resource="employee.hbm.xml"/>
</session-factory>
</hibernate-configuration>
6) 创建检索或存储持久对象的类
在此类中,我们只是将employee对象存储到数据库中。
package cn.javatiku.mypackage;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.Metadata;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
public class StoreData {
public static void main(String[] args) {
StandardServiceRegistry ssr = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build();
Metadata meta = new MetadataSources(ssr).getMetadataBuilder().build();
SessionFactory factory = meta.getSessionFactoryBuilder().build();
Session session = factory.openSession();
Transaction t = session.beginTransaction();
Employee e1 = new Employee();
e1.setId(1);
e1.setFirstName("Gaurav");
e1.setLastName("Chawla");
session.save(e1);
t.commit();
System.out.println("successfully saved");
factory.close();
session.close();
}
}
7) 运行应用程序
在运行应用程序之前,请确保目录结构如下。
要运行Hibernate应用程序,请右键单击StoreData类 - 运行为 - Java应用程序。