一 新建一个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>
二 创建数据库表
1 create table login( 2 username varchar2(20), 3 password varchar2(20) 4 );
三 创建持久化类及映射文件
持久化类:
1 package com.demo; 2 3 public class Login { 4 5 private String username; 6 private String password; 7 8 public String getUsername() { 9 return username; 10 } 11 public void setUsername(String username) { 12 this.username = username; 13 } 14 public String getPassword() { 15 return password; 16 } 17 public void setPassword(String password) { 18 this.password = password; 19 } 20 21 }
映射文件:
1 <?xml version="1.0"?> 2 <!DOCTYPE hibernate-mapping PUBLIC 3 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 4 "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 5 6 <hibernate-mapping> 7 <class name="com.demo.Login" table="LOGIN"> 8 <id name="username" type="java.lang.String"> 9 <column name="USERNAME" length="20"/> 10 <generator class="assigned"/> 11 </id> 12 <property name="password" type="java.lang.String"> 13 <column name="PASSWORD" length="20" not-null="true"/> 14 </property> 15 </class> 16 </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>的结束标签之前,如下所示:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE hibernate-configuration PUBLIC 3 "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 4 "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 5 <hibernate-configuration> 6 <session-factory> 7 <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property> 8 <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property> 9 <property name="hibernate.connection.username">scott</property> 10 <property name="hibernate.connection.password">Oracle11g</property> 11 <mapping resource="com/demo/Login.hbm.xml"/> 12 </session-factory> 13 </hibernate-configuration>
至此,一个Hibernate项目就创建并配置完毕。