我们需要安装了Myeclipse
(1)创建一个示例数据库
这个示例数据库非常简单,仅有一张表格,表格名:t_employee,它包含两个字段:递增主键“id”和用户名“name”。
(2)创建Hibernate 配置文件
启动Myeclipse,新建一个Java Project,利用Myeclipse 添加“Hibernate capabilities”,这时,Myeclipse 会把使用Hibernate时所需的各个库添加进来,并生成hibernate.cfg.xml,它是Hibernate的配置文件,主要用于配置数据库连接以及其它各种属性。
现在,我们所要做的只是输入一些数据库连接的属性并且将JDBC 驱动包添加进来,Myeclipse 会自动帮我们生成这个文件,不需要我们手工编写。
<</SPAN>hibernate-configuration>
<</SPAN>session-factory>
<</SPAN>propertyname="myeclipse.connection.profile">hitt_mysql </</SPAN>property>
<</SPAN>property name="connection.url">jdbc:mysql://localhost:3306/ test</</SPAN>property>
<</SPAN>property name="connection.username">root</</SPAN>property><</SPAN>property name="connection.password">admin</</SPAN>property>
<</SPAN>property name="connection.driver_class">com.mysql. jdbc. Driver</</SPAN>property>
<</SPAN>property name="dialect">org.hibernate.dialect.MySQL Dialect</</SPAN>property>
<</SPAN>mapping resource="TEmployee.hbm.xml"/>
</</SPAN>session-factory>
</</SPAN>hibernate-configuration>
(3)创建POJO 类和Hibernate 映射文件
打开Myeclipse Database Explorer,找到我们的表t_employee。Myeclipse 可以根据选择的表的结构,自动完成对象类到数据库的映射,避免了手工编写的缺陷。这里,项目中生成了TEmployee.java 和Temployee.hbm.xml,前者是数据库表对应的POJO 类,后者则是两者之间的映射关系文件,这些也都是由Myeclipse 帮我们写好的,不需要花费太大精力。
TEmployee.java 文件:
public
TEmployee(java.lang.Integer id){ super(id); }
public class
TEmployee extends AbstractTEmployee implements Serializable
{ public
TEmployee(){ }
}
Temployee.hbm.xml 文件:
<</SPAN>hibernate-mapping>
<</SPAN>classname="TEmployee"table="t_employee">
<</SPAN>id name="id"column="id"type="integer">
<</SPAN>generator class="native"/>
</</SPAN>id>
<</SPAN>property name="name"column="name"type="string"not-null="true"/>
</</SPAN>class>
</</SPAN>hibernate-mapping>
(4)持久化对象的操作
上面的步骤已经完成了Hibernate 的基础代码和配置文件的编写,还需要编写一个简单的持久化代码来测试这个实例。这里,我们以插入一个名为“Doudy”的记录为例。
Configuration config=new
Configuration().configure();
SessionFactory sessionFactory=
config.buildSessionFactory();
session=(sessionFactory).openSession();
这里利用默认的配置文件hibernate.cfg.xml 创建且初始化了Configuration 实例,完成了与数据库的连接,并得到了Session实例,通过它就可以完成对象持久化操作。
tran=
session.beginTransaction();
TEmployee employee=new
TEmployee();
employee.setName("Doudy"
);
session.save(employee);
session.flush();
tran.commit();
Assert.assertEquals(employee.getId().intValue()>0,true);
这样我们就把TEmployee 对象实例保存到数据库中,即在数据库表中添加了一条“Doudy”的记录。
Hibernate 的持久化服务,让开发人员得以把大部分精力用在业务逻辑的实现上,而无须为数据库的连接一筹莫展,让操作数据像操作对象一样方便,可以更好地运用面向对象的思想开发;Myeclipse作为一个优秀的集成开发环境,进一步简化了Hibernate 的持久化实现,自动生成大部分的基础代码,使我们真正从烦琐的代码编写中解放出来。现在,我们所要做的重点仅仅是考虑数据库表的构建、业务逻辑实现等核心内容,无论是开发效率或是项目质量都获得了显著的提高。