欢迎来到天天文库
浏览记录
ID:38811261
大小:322.20 KB
页数:20页
时间:2019-06-19
《零点起飞学JavaWeb开发之Hibernate概述及实例分析x》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第13章Hibernate概述及实例分析Hibernate是一个面向Java环境的对象/关系数据库映射工具。对象/关系映射(object/relationalmapping,ORM)代表一种将对象和数据库表相互转换的技术。Hibernate就是这样的一种工具。使用Hibernate可以极大地简化对数据库的操作,所以在JavaWeb开发中Hibernate占有很重要的地位。本章先讲解Hibernate的基本概念,然后讲解如何使用Hibernate建立网上购物系统的数据库框架,目的是让读者通过实例对Hibernate的使用有一个感性的认识,这样便于后面内容的讲
2、解。13.1什么是数据持久化和ORM下面分几个方面对数据持久化和ORM的概念进行讲解。1.数据持久化的概念数据持久化就是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称。数据模型可以是任何数据结构或对象模型,例如JavaBean对象;存储模型可以是关系型数据库表、XML文件、二进制文件等。2.什么是ORMORM(Object/RelationalMapping)中文翻译为对象/关系型数据映射,它也可以理解为一种数据持久化技术,其主要是把对象模型,例如JavaBean对象和关系型数据库的表建立对应关系,并且提供了一个通过JavaB
3、ean对象去操作数据库表的机制。3.使用ORM技术的好处在实际开发中,程序员使用面向对象的技术操作数据,而当要把数据存储起来时,使用的却是关系型数据库,这样就造成了很多的不便。ORM在对象模型和关系数据库的表之间建立了一座桥梁,有了它,程序员就不需要再使用SQL语句操作数据库中的表,直接操作JavaBean对象就可以实现数据的存储、查询、更改和删除等操作。Hibernate就是这样一种技术。13.2什么是HibernateHibernate作为一种ORM技术,实现了对象模型和关系型数据库之间的映射。Hibernate将JavaBean对象和数据库的表建立了
4、对应关系。这样程序员在操作数据库时,就不需要再使用JDBC调用SQL语句,而可以直接操作JavaBean对象,进行数据库操作。下面对Hibernate的概要结构进行分析。Hibernate的概要体系结构如图13-1所示。13.3MyEclipse对Hibernate的支持对MyEclipse建立的工程在默认情况下是不支持Hibernate的,需要按照下面的步骤操作操作,才能为工程添加Hibernate支持。13.4在线购物系统开发概述本节对一个在线购物系统的开发进行简单叙述。用户可以使用该系统在线选购商品,管理员可以通过该系统对用户信息、商品信息进行管理。
5、这是一个典型的Web应用项目,其体系结构如图13-7所示。13.5开发在线购物系统13.4节将在线购物系统的各个模块分别进行了说明。本节将按照项目开发的步骤去讲解如何创建该系统底层的各个模块,从而使读者对如何使用Hibernate进行项目底层设计有一个感性的认识。13.5.1需求分析ShoppingOnline系统需要满足以下要求:用户可以注册、修改自己的个人资料,并且可以登录、退出系统。可以对商品进行查询。可以选购自己想购买的商品,先把这些商品放入购物车,在购物车中可以删除不想买的商品。如果用户确定要买购物车中的商品,系统应该可以为该用户生成订单,订单中
6、列出商品数量、单价、应付款目等。ShopAdmin系统需要满足以下要求:管理员可以登录该系统。可以增加、删除、修改商品的信息。可以增加商品类别,并且可以调整商品的所属类别。可以对用户进行管理,例如,删除某个用户。可以对用户的订单进行管理,例如,查询某个订单并对它进行处理。13.5.2概念结构设计概念结构就是将需求分析得到的用户需求,抽象为数据结构。通常采用E-R图来表示数据库的概念结构。E-R图将现实世界的信息结构统一用实体、属性以及实体之间的联系来描述。本系统的E-R关系如图所示。13.5.3逻辑结构设计逻辑结构设计就是把设计好的E-R图转换为数据库的表
7、结构。从上面代码可以看出创建了6个表,具体说明如下所述。product:用来存储商品的信息,id是其主键,sortid是其外键。“ONDELETECASCADE”声明如果category的一条记录被删除,那么使用sortid指向该记录的所有product中的记录也要被删除。category:用来存储商品分类的信息。user:用来存储用户信息。adminuser:用来存储管理员信息。shopcart:用来存储购物车信息,使用orderid和productid分别指向orders和product的主键。orders:用来存储订单信息,使用userid指向use
8、r表的主键。13.6创建JavaBean组件每个JavaBean类
此文档下载收益归作者所有