第一个Hibernate程序

时间:2023-03-09 22:07:23
第一个Hibernate程序

一 新建一个Java工程(Hibernate)

  在src目录下创建一个名为"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">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
<property name="hibernate.connection.username">scott</property>
<property name="hibernate.connection.password">Oracle11g</property>
</session-factory>
</hibernate-configuration>

二 创建数据库表

 create table login(
username varchar2(20),
password varchar2(20)
);

三 创建持久化类及映射文件
  持久化类:

 package com.demo;

 public class Login {

     private String username;
private String password; public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
} }

  映射文件:

 <?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping>
<class name="com.demo.Login" table="LOGIN">
<id name="username" type="java.lang.String">
<column name="USERNAME" length="20"/>
<generator class="assigned"/>
</id>
<property name="password" type="java.lang.String">
<column name="PASSWORD" length="20" not-null="true"/>
</property>
</class>
</hibernate-mapping>

  从以上代码中可以看到对象与数据库表的对应关系。

  class 标签用户制定Login类与login表的映射。

  id 标签代表主键,也就是说username是唯一的并且不能为空。

    id 标签中的name表示Login类中的属性名称,type表示类型;column标签中的name表示数据库表中字段的名称。generator标签定义主键的生成方式,此处的设置表示主键是由应用程序分配的。

  property 标签中的内容表示Login类中与数据库表中其他字段的映射,如果还有其他字段,就需要再增加property标签。用于其他字段的标签配置与 id 标签基本类似,但是在这里有一个not-null属性,用来控制该字段是否为空。若值为true,则该字段不能为空,反之,则可以为空。

  添加完这个映射文件后,需要在hibernate.cfg.xml文件中添加这个映射文件的声明。也就是声明Login.hbm.xml是一个映射配置文件。此声明语句添加在<session-factory>的结束标签之前,如下所示:

 <?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">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
<property name="hibernate.connection.username">scott</property>
<property name="hibernate.connection.password">Oracle11g</property>
<mapping resource="com/demo/Login.hbm.xml"/>
</session-factory>
</hibernate-configuration>

  至此,一个Hibernate项目就创建并配置完毕。