欢迎来到天天文库
浏览记录
ID:40847327
大小:2.86 MB
页数:94页
时间:2019-08-08
《JavaEE基础应用教程之Hibernate应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章Hibernate应用4.1Hibernate概述4.2Hibernate应用基础4.3Hibernate关系映射4.4Hibernate高级功能4.5Hibernate与Struts2整合应用4.1Hibernate概述1.ORM简介对象/关系映射ORM(Object-RelationMapping)是用于将对象与对象之间的关系对应到数据库表与表之间的关系的一种模式。简单地说,ORM是通过使用描述对象和数据库之间映射的元数据,将Java程序中的对象自动持久化到关系数据库中。对象和关系数据是业务实现的两种表现形式,业务实
2、体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在着关联和继承关系。而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,ORM系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。一般的ORM包括四个部分:对持久类对象进行CRUD操作的API、用来规定类和类属性相关查询的语言或API、规定mappingmetadata的工具,以及可以让ORM实现同事务对象一起进行dirtychecking、lazyassociationfetching和其他优化操作的技术。4.1Hibernate概述
3、2.Hibernate体系结构Hibernate作为模型层/数据访问层。它通过配置文件(hibernate.cfg.xml或hibernate.properties)和映射文件(*.hbm.xml)把Java对象或持久化对象(PersistentObject,PO)映射到数据库中的数据表,然后通过操作PO,对数据库中的表进行各种操作,其中PO就是POJO(普通Java对象)加映射文件。Hibernate的体系结构如图4.1所示。图4.1Hibernate体系结构4.2Hibernate应用基础4.2.1Hibernate应用实
4、例开发开发Hibernate项目的步骤如下。1.建立数据库及表本书使用SQLServer2005数据库。在XSCJ数据库中建立KCB表,其表结构如附录A.2所示。2.在MyEclipse中创建对SQLServer的连接启动MyEclipse,选择【Window】→【OpenPerspective】→【MyEclipseDatabaseExplorer】菜单项,打开MyEclipseDatabase浏览器,右击菜单,如图4.2所示,选择【New…】菜单项,出现如图4.3所示的对话框,编辑数据库连接驱动。4.2.1Hibernat
5、e应用实例开发图4.2MyEclipseDatabase浏览器,创建一个新的连接图4.3编辑数据库连接驱动4.2.1Hibernate应用实例开发编辑完成以后,在MyEclipseDatabase浏览器中,右击刚才创建的MyConn数据库连接,选择“Openconnection…”菜单项,打开名为“MyConn”的数据连接,如图4.4所示。图4.4打开数据库连接4.2.1Hibernate应用实例开发3.创建Web项目,命名为“HibernateTest”4.添加Hibernate开发能力右击项目名HibernateTest,
6、选择【MyEclipse】→【AddHibernateCapabilites】菜单项,出现如图4.5所示的对话框,选择Hibernate框架应用版本及所需要的类库。图4.5选择Hibernate版本及所需Jar包4.2.1Hibernate应用实例开发单击【Next】按钮,进入如图4.6所示界面。创建Hibernate配置文件hibernate.cfg.xml,将该文件放在src文件夹下,后面会详细介绍该文件内容。这里先说明添加Hibernate开发功能的步骤。图4.6创建配置文件hibernate.cfg.xml4.2.1H
7、ibernate应用实例开发单击【Next】按钮,进入如图4.7所示界面,指定Hibernate数据库连接细节。由于在前面已经配置一个名为MyConn的数据库连接,所以这里只需要选择DBDriver为“MyConn”即可。图4.7指定hibernate数据库连接4.2.1Hibernate应用实例开发单击【Next】按钮,出现如图4.8所示界面。Hibernate中有一个与数据库打交道重要的类Session。而这个类是由工厂SessionFactory创建的。这个界面询问是否需要创建SessionFactory类。如果需要创建
8、,还需要指定创建的位置和类名。这些接口都会在后面详细介绍。单击【Finish】按钮,完成Hibernate的配置。图4.8创建SessionFactory类来简化Hibernate会话处理4.2.1Hibernate应用实例开发5.生成数据库表对应的Java类对象和映射文件首
此文档下载收益归作者所有