Hibernate在电子商务平台中的应用

点赞:13688 浏览:58710 近期更新时间:2024-01-19 作者:网友分享原创网站原创

[摘 要]电子商务近些年得到了快速发展,为了使电子商务平台的开发更快捷,更安全,我们采用JSP、Hibernate等技术,构建了一个电子商务平台.着重研究了基于Hibernate的电子商务平台的总体结构和实现方法.

[关 键 词]JAJSPHibernate

一、Hibernate技术介绍

Ja应用程序运行时,往往把数据封装为相互连接的对象,但是当程序结束时,这些对象就会消失在一团逻辑中,所以需要有一些保存它们的方法.甚至在编写应用程序之前,数据就已经存在了,所以需要有读入它们和将其表示为对象的方法.手动编写代码来执行这些任务不仅单调乏味、易于出错,而且会占用整个应用程序的很大一部分开发工作量.


Hibernate是一个免费的开源Ja包,它对JDBC做了轻量级封装,不仅提供ORM映射怎么写作,还提供数据查询和数据缓存功能,Ja开发人员可以方便地通过HibernateAPI来操纵数据库.它使得与关系数据库打交道变得十分轻松,就像数据库中包含每天使用的普通Ja对象一样;同时不必考虑如何把它们从数据库表中取出(或放回到数据库表中).

现在,越来越多的Ja开发人员把Hibernate作为企业级应用和关系数据库之间的中间件,以节省和对象持久化有关的约30%的JDBC编程工作量.2005年,Hibernate作为优秀的类库和组件,荣获了第15届Jolt大奖.

二、层次结构设计

一般的Web应用程序中,通常采用三层体系结构,如图1所示:

表述层:提供与用户交互的界面.业务逻辑层:实现各种业务逻辑.数据库层:负责存放和管理应用的持久性业务信息.但是,在上图的三层软件结构中,业务逻辑层不仅负责业务逻辑,而且直接访问数据库,提供对业务数据的保存、更新、删除和查询操作.

在本平台中,借助于Hibernate框架,可以把数据访问细节和业务逻辑分开,使整个系统呈现四层体系结构,这样可以把数据访问作为单独的持久化层,而业务逻辑层用JaBeans来实现.重新分层的软件层次结构参见图2:

其中,持久化层封装了数据访问细节,图2系统层次结构为业务逻辑层提供了面向对象的API.通过应用持久化层,可以达到以下目标:代码可重用性高,能够完成所有的数据库访问操作,如果需要的话,能够支持多种数据库平台,具有相对独立性,当持久化层的实现发生变化,不会影响上层的实现.

三、功能模块设计

本平台所实现的功能如下:

1.客户界面部分

商品选购,购物车功能,查看商品详细情况,用户注册,用户登录,查看用户订单信息.

2.管理界面部分

客户管理:查看、删除,现有商品管理:查看、修改、删除,订单管理:查看订单付款,更新订单付款,状态,删除订单,添加新商品,添加商品分类.

四、关键技术分析

由于引入了Hibernate框架,本平台中所有对数据库的操作都是通过Hibernate提供的面向对象的API来完成的.

1.Hibernate的初始化

在自定义的HibernateUtil类中,由静态代码块负责Hibernate的初始化工作,如读取Hibernate的配置信息,以及对象――关系映射信息,最后创建SessionFactory实例.下面具体分析初始化的步骤:

(1)创建一个Configuration的实例,Configuration类的构造方法把默认文件路径下的hibernate.properities配置文件中的配置信息读入到内存.

(2)调用Configuration类的addClass()方法把默认文件路径下的Category.hbm.xml,Customer.hbm.xml,Item.hbm.xml,Order.hbm.xml文件中的映射信息读入内存中.

Hibernate在电子商务平台中的应用参考属性评定
有关论文范文主题研究: 关于数据库的论文范文集 大学生适用: 电大毕业论文、高校大学论文
相关参考文献下载数量: 61 写作解决问题: 如何怎么撰写
毕业论文开题报告: 论文模板、论文选题 职称论文适用: 刊物发表、高级职称
所属大学生专业类别: 如何怎么撰写 论文题目推荐度: 优秀选题

(3)调用Configuration类的buildSessionFactory()方法创建一个SessionFactory实例,并把Configuration对象包含的所有配置信息拷贝到SessionFactory对象的缓存中.SessionFactory代表一个数据库存储,当SessionFactory对象创建后,该对象便不和Configuration对象关联.以后对数据库的操作都基于此SessionFactory对象.

2.利用Hibernate操作数据库

初始化过程结束后,就可以调用SessionFactory实例的openSession方法来获得Session实例,然后通过它执行访问数据库的操作.Session是一个轻量级对象.通常将每一个Session实例和一个数据库事务绑定,也就是说,每执行一个数据库事务,都应该先创建一个新的Session实例.如果事务执行中出现异常应该撤销事务.不论事务成功与否都应该调用的Session的close()方法,从而释放Session实例.