资源管理系统 - 图文(5)

2019-05-18 19:58

3.5.1.3 XML数据

现在很多网络上的应用程序都使用XML类型的数据,或者说是一种树状的数据,如何将这两种数据持久化保存下来呢?一种方法是将XML数据拆分为属性数据,然后存储到关系型数据库中.另一种方式比较新,是将XML数据存储到XML数据库中,在XML数据库中存储这种数据时,数据的结构不变,XML数据在XML数据库中,在XML数据库中以文档对象形式保存,使用XPaht和XQuery查询语言来查询XML数据中的节点数据,或者多个XML文档中的多个节点数据. 相对于属性数据而言,XML数据是很宽松的.首先,XML数据的结构没有被确定下来,起码没有被定死为某种僵化的结构.其次,对于XML数据的各个节点来说,数据的类型并没有被确定下来,在XML中如果不加特殊的约束(例如DTD或者Schema),XML文档中的数据和结构可以有十分大的变化空间,在XML中以字符串形式存在的数据,很难确定它的类型是int或是String.最后,XML是可以被转换处理的,利用XSLT可以将XML转换成希望的结果.因此可以说对XML数据的约束是比较宽松的,XML数据类型甚至可以用来模拟实现一些随即性质的数据.

3.5.2 持久化技术

一直以来,在Java开发领域中基于数据库应用的设计实现一直是面向关系的,也就是说与数据库相关的处理过程并没有实现真正的面向对象.如何在数据存取的操作中实现真正的面向对象,一直是开发人员探索的问题.正在使用中的对象序列化技术,EJB中Entity Bean技术等,都是在这方面很好的探索.但是实体Bean设计实现过程中的繁琐和复杂,使得许多开发人员望而却步.

而Hibernate的出现,提供了一个符合Java面向对象编程思想,易于使用的数据库持久化解决方案.因此,在目前行业的Java数据库应用项目中,有越来越多的开发人员开始尝试使用Hibernate在数据库外面包裹上一层面向对象的外衣,从而将开发人员从繁琐,重复,技术含量不高的数据库编程中结果出来.

3.5.2.1 Hibernate概述

Hibernate在英文中的意思是”冬眠”,从这个角度也可以体会到Hibernate架构下提供的相关技术可以实现度十角状态的持久性保存.在传统的数据库编程中,开

18

发人员要面对大量重复行代码的编写,以实现对不同数据表中的数据的获取,并将获取到的记录数据封装成对象,在处理完成之后,如果需要进行对象状态的存取,需要将对象中的数据拆卸成数据库记录中的对应字段的值,然后向数据库中进行存取.

这种工作方式显然没有实现真正意义上的数据存取阶段的面向对象.虽然数据存取过程中的工作步骤是基本固定的,但是由于操作的数据表中字段列表数据的不同,使得开发人员必须要不厌其烦地书写与相应的实体类对应的封装处理过程.

而在Hibernate中,类似这种重复性高,工作量大,但是又必须保证高质量完成的体力活,全部由Hibernate接管过去.这对广大的Java开发人员无疑是个非常好的消息.

Hibernate本质上是一个面向Java开发环境的对象/关系数据库映射工具.在Hibernate之前,开发人员要将面向对象的软件和关系数据库结合在一起,往往会费长麻烦.而借助Hibernate对象/关系数据库映射技术,可以非常轻松地将以面向对象思想封装的对像的各个状态数据映射到基于SQL的关系模型数据结构中去.

Java应用 HQL语句 Hibernate XML 映射 文件 SQL语句 数据库 图 3.2 Hibernate工作示意图

19

4 系统实现

4.1 用户操作文件总体架构

用户操作模块主要包括用户登录和人员管理模块,具体功能如下:

用户登录模块:用于登录系统。

人员管理模块:用于浏览、添加和修改人员信息。

4.1.1 用户登录模块设计

用户登录模块是用户进入主页面的入口,其运行结果如图所示。

图4.1 用户登录模块运行结果

系统登陆是人力资源管理中最先使用的功能,因为用户登陆在数据库中使用的是人员表,人员表中有一个isadmin字段,是来标识是否是管理员的。在登陆时要根据数据库的这个字段来判断此用户是否具有管理员的权限。在网页里添写用户名和密码后点击【登陆】按钮,网页会访问一个URL,这个URL是“logon.do?action=logon”,代码如下:

在这个表单的name的值是usersForm,它是Struts的ActoinForm的实现类在配置文件中的名字,如下所示:

type=\

action是Struts的Action的URL,他们在Struts的配置文件中都是已经配好的,如下所示:

type=\scope=\

在这个配置文件中,可以了解到如下信息:

?

根据name=\可以找到与之相对应的ActionForm的实现类

21

“com.bOS.bPRO_PersonManage.actionform.UsersForm”。

?

根据type=\可以找到处理用户数据的Action类。

?

根据

Struts的Action的实现类是这个登陆页的核心内容,就来看看它是怎么实现的吧,如下所示:

package com.bOS.bPRO_PersonManage.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.hibernate.HibernateException; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import com.bOS.bPRO_PersonManage.actionform.UsersForm; import com.bOS.bPRO_PersonManage.en.Users;

import com.bOS.bPRO_PersonManage.service.UsersDao; public class UsersAction extends Action { private UsersDao dao=new UsersDao();

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) throws Exception {

String action =request.getParameter(\//

System.out.println(\);

22


资源管理系统 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:原子吸收测定柠檬酸中钙的含量(精)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: