当前位置:文档之家› Hibernate实验(一):数据源、Hibernate配置与反向工程映射

Hibernate实验(一):数据源、Hibernate配置与反向工程映射

Hibernate实验(一):数据源、Hibernate配置与反向工程映射

姚远

2013-10-16

实验目的:

1、熟练掌握Eclipse中数据源的配置。

2、熟练掌握Hibernate配置、理解配置文件内容。

3、熟悉掌握反向工程的概念,并能完成反向工程的相关ORMapping操作。

4、初步了解应用Hibernate架构技术完成数据库应用项目开发。

实验内容:

参考下列步骤将示例项目:TeacherSysDemo再做一遍。

一.建立数据库

如果该数据库已存在,此步骤可省略。

注意:也可以使用提供的salary.bak在SQLServer中进行“还原数据库”操作

在SQLServer中建立数据库teacherinfo。表结构与样例数据参考如下:

二、新建项目

新建一个Dynamic Web Project项目Hibernatepro1,并将示例项目如:TeacherSysDemo中WebContent目录中WEB-INFO中lib下所有的.jar文件拷贝到此新建项目对应的文件夹中。

三、数据源配置

在Eclipse菜单项中选择Window->Show View->Data Source Explorer

使之配置成如下效果:

参考配置过程与参考选项值设置:

点击其中Test Connection按钮,应得到Ping Success

即为数据源配置成功。

记录其中的Connection URL。用于后续Hibernate配置。

三、在Eclipse中进行Hibernate数据库连接配置与Hibernate.xml文件配置

1.打开Hibernate Configurations面板

Hibernate插件安装完毕后,Windows->Show View->Hibernate->Hibernate Configurations

点击OK后,出现Hibernate Configurations面板:

2.进行hibernate配置

在该面板中点击右键菜单中“Add Configuration”菜单项:

3.hibernate.cfg.xml文件的生成

要先有hibernate.cfg.xml文件,才能为后续反向工程映射文件的生成提供条件。这是因为在reveng.xml文件的生成向导中,有一个步骤是显示数据库连接的数据表的。而这些数据表要能在这些向导中进行展示,需要有hibernate.cfg.xml文件。

通过Browse按钮选择当前项目的名字,使得Hibernatepro1这个项目的名字出现在文本框中。

接下来通过如下方式新建hibernate.cfg.xml配置文件:

出现如下对话框:

此处选择”Create new…”按钮。

点击Next:

其中注意:

1.URL是:jdbc:sqlserver://localhost:1433;databaseName=salary

2.Driver class是:com.microsoft.sqlserver.jdbc.SQLServerDriver

4.查看Hibernate配置情况

展开hibernate节点后,出现:

每当数据库中的结构发生变化时,在面板中应通过右键菜单中的Refresh菜单项进行刷新查看。

四.Hibernate配置完毕后进行反向工程映射为Java实体类

检查当前Eclipse开发环境是否处于Java视图开发状态,如果不是需要调整如下图所示:

然后可以通过两种途径打开反向工程窗口

1.菜单项->run->hibernate code gerneration->hibernate code gerneration

configurations,

2.上图中的黄色快捷按钮

类的包名。

1.生成反向工程映射文件

点击上图中的”Setup…”按钮生成Hibernate.reveng.xml文件。这是一个反向工程映射文件。

点击Setup按钮后,选择新建hiberate.reveng.xml,

出现reveng.xml的配置入口面板:

点击Next,出现的映射指定设置的面板:

可以看到已经连接的数据库的数据表列表。通过Include将选中的数据表进行设定:点击Finish,此时反向工程映射文件hiberate.reveng.xml将生成。

2.在Exporters选项页中确定并生成实体类及hbm.xml文件

且在Hibernate.cfg.xml中增加了一行配置信息:

将示例TeacherSysDemo中黄色部分的代码拷贝到上述新建的项目Hibernatepro1。

然后运行TeacherManager中的main方法,看是否成功将教师信息("00010","Kate",29,

"女","讲师");

插入到数据库。

此处main方法的参考代码为:

TeacherManager m = new TeacherManager();

m.addTeacher("00010","Kate",29,

"女","讲师");

运行时如出现下列异常,

Exc eption in thread "main" org.hibernate.HibernateException: No CurrentSessionContext configured!

at

org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactor yImpl.java:685)

at logic.TeacherManager.addTeacher(TeacherManager.java:13)

at logic.TeacherManager.main(TeacherManager.java:30)

说明配置文件中缺乏一个属性的配置:

name="hibernate.current_session_context_class">thread

加入到配置文件hibernate.cfg.xml中。注意加入到配置文件中的顺序

相关主题
文本预览
相关文档 最新文档