2.8 在Eclipse上创建Hibernate实例
本节将通过实现用户查询模块介绍在Eclipse中创建Hibernate实例的具体方法。
文件位置:mr\02\fl\01\EclipseApplication
视频录像:mr\02\lx\在Eclipse上创建Hibernate实例.exe
2.8.1 在J2EE Development视图模式下新建项目
本例应用的Eclipes版本为Eclipes 3.2,在Eclipse开发工具下新建项目的具体步骤如下。
(1)打开Eclipes 3.2开发界面,如图2.32所示。
图2.32 Eclipes 3.2开发界面
(2)在菜单栏中,依次单击“文件”→“新建”→“项目”菜单项,打开“新建项目”对话框,在该对话框中,依次展开“MyEclipse”→“J2EE Projects”节点,并选择“J2EE Projects”节点下的“Web Project”节点,如图2.33所示。
图2.33 “新建项目”对话框
(3)单击【下一步】按钮,将打开新建Web工程对话框,在该对话框的“Project Name”文本框输入工程名称,这里输入工程名称为“EclipseApplication”,其他文本框保持默认设置即可,如图2.34所示。
图2.34 新建Web工程对话框
(4)单击【完成】按钮,完成新建项目的工作。
2.8.2 将数据库驱动包导入Eclipse中
本实例主要应用SQL Server 2000作为数据库驱动包,将其导入Eclipse的具体步骤如下。
(1)在菜单栏中,依次选择“窗口”→“首选项”菜单项,将打开“首选项”对话框。在该对话框中,依次展开“MyEclipse”→“Database Explorer”→“Drivers”节点,如图2.35所示。
图2.35 “首选项”界面
(2)单击【New】按钮,将打开新建数据库驱动对话框,在该对话框的Driver template下拉列表框中选择“Microsoft SQL Server”列表项;在“Connection URL”文本框中输入“jdbc:microsoft:sqlserver://localhost:1433”;在“Driver JARs”选项卡中,单击【Add JARs】按钮,选择SQL Server 2000的3个驱动包(msbase.jar、mssqlserver.jar和msutil.jar);其他文本框中的内容系统会自动生成,如图2.36所示。
图2.36 新建数据库驱动对话框
(3)依次单击图2.36和图2.35对话框中的【确定】按钮,完成导入数据库驱动的工作。
2.8.3 在Hibernate视图模式下建立数据库连接
在Hibernate视图模式下建立数据库连接的具体步骤如下。
(1)在Eclipse 3.2的主窗口中,单击右侧的按钮,将弹出选择视图快捷菜单,如图2.37所示。
图2.37 选择Hibernate视图模式
(2)选择“My Eclipse Hibernate”菜单项,进入Hibernate视图工作模式,在DB Browser工作区域中,单击鼠标右键弹出New快捷菜单,如图2.38所示。
图2.38 Hibernate视图工作模式
(3)单击New菜单项,将打开选择数据库驱动对话框。在该对话框中,profile name文本框中输入“JDBC”,在Driver下拉列表框中选择“Microsoft SQL Server”列表项,其他文本框保持默认设置,如图2.39所示。
图2.39 选择数据库驱动对话框
(4)单击【下一步】按钮,将打开选择数据库对话框。在该对话框中,选中“Display the selected schemas”单选按钮,如图2.40所示。
图2.40 选择数据库对话框
(5)单击【Add】按钮,将打开数据库提示信息对话框,直接单击【确定】按钮,将打开输入登录数据库密码的对话框,在Enter your password文本框中不用输入任何内容,如图2.41所示。
图2.41 输入登录数据库用户密码的对话框
(6)单击【确定】按钮,将打开选择数据库对话框,这里选择数据库db_database02(读者可以在光盘中找到该数据库),如图2.42所示。
图2.42 选择操作数据库对话框
(7)单击【确定】按钮,回到选择数据库对话框,如图2.43所示。
(8)单击【完成】按钮,完成在Hibernate视图模式下建立数据库连接的工作。
图2.43 已经添加数据库的选择数据库对话框
2.8.4 在J2EE Development视图模式下建立存放类的包文件夹
在J2EE Development视图模式下,建立存放类的包文件夹的具体步骤如下。
(1)在Eclipse 3.2的主窗口中,单击右侧的按钮,回到J2EE Development视图模式。在包资源管理器中,展开EclipseApplication文件包,右键单击src,在弹出的快捷菜单中选择“新建”→“包”菜单项,如图2.44所示,将打开“新建Java包”对话框。
图2.44 新建“包”选项
(2)在“名称”文本框中输入“com.fornBean”,如图2.45所示。
图2.45 新建包对话框
(3)单击【完成】按钮,完成新建包的工作。
2.8.5 将Hibernate3.2类库构建到Eclipse中
将Hibernate3.2类库构建到Eclipse中的具体步骤如下。
(1)在Eclipse的菜单栏中,依次单击“窗口”→“首选项”菜单项,将打开“首选项”对话框。在该对话框中,依次展开“Java”→“构建路径”→“用户库”节点,如图2.46所示。
图2.46 选择用户库
(2)单击【新建】按钮,将打开“新建用户库”对话框。在该对话框中,在“用户库名称”文本框中输入“Hibernate3.2”,如图2.47所示。
(3)单击【确定】按钮,完成新建用户库名称的工作。
(4)这时图2.46中的“已定义的用户库”栏中将出现“Hibernate3.2”选项,如图2.48所示。选择“Hibernate3.2”,单击右侧的【添加JAR】按钮,将打开用于选择Hibernate3.2文件包的对话框,在该对话框中选择“Hibernate3.2”文件包,单击【确定】按钮,返回选择用户库对话框,如图2.48所示。
图2.47 “新建用户库”对话框 图2.48 添加新用户库后的对话框
(5)单击【确定】按钮,完成新建用户库的工作。
说明:构建JDBC类库路径的方法与构建Hibernate3.2类库路径的方法是相同的,这里就不再赘述了。
2.8.6 将Hibernate3.2类库引入到工程中
将Hibernate3.2类库引入到工程中的具体步骤如下。
(1)在Eclipse的菜单栏中,依次选择“MyEclipse”→“Add Hibernate Capabilities”菜单项,将打开如图2.49所示对话框。在该对话框中勾选“User Libraries”复选框,在下面的列表框中勾选“JDBC -
图2.49 新建Hibernate向导第一步对话框
(2)单击【下一步】按钮,打开如图2.50所示对话框。在该对话框中将“Configuration Folder”文本框中的内容修改为src。
图2.50 新建Hibernate向导第二步对话框
(3)单击【下一步】按钮,打开如图2.51所示对话框。在该对话框的“DB Profile”下拉列表框中选择“JDBC”项,其他文本框的内容将自动生成。
(4)单击【下一步】按钮,打开如图2.52所示对话框。在该对话框中,取消“Create SessionFactory class”选项的勾选。
(5)单击【完成】按钮,完成将Hibernate包导入工程的操作。这时系统将自动生成hibernate.cfg.xml文件。
图2.51 新建Hibernate向导第三步对话框
图2.52 新建Hibernate向导第4步对话框
2.8.7 在Hibernate视图模式下生成持久化类和映射文件
在Hibernate视图模式下建立表的映射关系的具体步骤如下。
(1)在Eclipse的菜单栏中,单击右侧的按钮,返回到Hibernate视图模式下。在DB Brower区域中,依次展开“JDBC”→“Connected to JDBC”→“db_database02”→“dbo”→“TABLE”节点后,在tb_user节点上单击鼠标右键,在打开的快捷菜单中选择“Hibernate Reverse Engneering”菜单项,如图2.53所示,将打开对数据表进行操作的“Hibernate Reverse Engineering”对话框。
(2)在“Hibernate Reverse Engineering”对话框中,勾选“Hibernate mapping file (*.htm.xml)for each database tabl”和“Java Data Object (POJO<> DB Table)”两个复选框。单击“Java src folder”文本框后面的【Browse】按钮,将打开用于选择包文件夹的“Java Source Folder”对话框,在该对话框中,依次展开“EcplipseApplication”→“src”节点,并选src节点下的“com.formBean”节点,如图2.54所示。
图2.54 选择包文件夹对话框
(3)单击【确定】按钮,完成导入类包的工作,在对数据表进行操作的“Hibernate Reverse Engineering”对话框中会自动生成相关信息,如图2.55所示。
图2.55 “Hibernate Reverse Engineering”对话框
(4)单击【完成】按钮,系统将自动生成持久化类和映射文件。
2.8.8 系统自动生成的配置文件、持久化类和映射文件
经过上面的操作,系统已经自动生成了Hibernate配置文件、持久化类文件和映射文件,下面将给出这3个文件的具体代码。
1.Hibernate配置文件
Hibernate配置文件hibernate.cfg.xml的关键代码如下。
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"">
jdbc:microsoft:sqlserver://localhost:1433
org.hibernate.dialect.SQLServerDialect
com.microsoft.jdbc.sqlserver.SQLServerDriver
2.持久化类
根据数据表tb_user中的字段,自动生成持久化类TbUser.java的关键代码如下。
package com.formBean;
import java.util.Date;
public class TbUser implements java.io.Serializable {
private String name;
private String sex;
private Date born;
private String profession;
public TbUser() {
}
public TbUser(String name) {
this.name = name;
}
public TbUser(String name, String sex, Date born, String profession) {
this.name = name;
this.sex = sex;
this.born = born;
this.profession = profession;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return this.sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Date getBorn() {
return this.born;
}
public void setBorn(Date born) {
this.born = born;
}
public String getProfession() {
return this.profession;
}
public void setProfession(String profession) {
this.profession = profession;
}
}
3.映射文件
与持久化类TbUser对应的映射文件TbUser.hbm.xml的关键代码如下:
2.8.9 创建业务逻辑类
通过包资源管理器,在com.formBean包下建立名称为TbHibernateDao.java的类文件,并编写如下代码。
package com.formBean;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class TbHibernateDao {
private static SessionFactory sessionFactory=null;
private Session session=null;
Transaction tx = null;
static {
try {
Configuration config = new Configuration().configure();
sessionFactory = config.buildSessionFactory();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public List selectManager() {
session = sessionFactory.openSession();
tx = session.beginTransaction();
String hql = "from TbUser";
List list = null;
try {
Query query = session.createQuery(hql);
list = query.list();
} catch (Exception e) {
System.out.println(e.getMessage());
}
tx.commit();
session.close();
return list;
}
}
2.8.10 创建JSP页面文件
通过包资源管理器,在WebRoot文件夹下建立名称为index.jsp的页面文件,并对该文件进行修改,具体代码如下:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@page import="java.util.List"%>
用户名 | 性别 | 出生日期 | 职业 |
<%=form.getName()%> | <%=form.getSex()%> | <%=form.getBorn()%> | <%=form.getProfession()%> |
2.8.11 发布并运行程序
通过Eclipse开发工具进行程序发布并运行的具体步骤如下。
(1)在Eclipse工具栏中,单击,打开“Project Deployments”对话框,如图2.56所示。
图2.56 “Project Deployments”对话框
(2)单击【Add】按钮,打开如图2.57所示“New Deployment”对话框,在该对话框中,在“Server”下拉列表中选择“Tomcat5”,单击【完成】按钮,返回到“Project Deployments”对话框,在该对话框中单击【确定】按钮,完成选择Web服务器的工作。
图2.57 “New Deployment”对话框
(3)在工具栏中,依次单击按钮,在弹出的快捷菜单中选择“Tomcat 5”→“Start”菜单项,如图2.58所示,启动Tomcat服务器。
(4)在IE地址栏中输入,运行结果如图2.59所示。
图2.58 启动Tomcat服务器 图2.59 实例运行结果