毕业设计(论文)-基于J2EE的爱家房屋租赁管理系统的设计与实现.docx_第1页
毕业设计(论文)-基于J2EE的爱家房屋租赁管理系统的设计与实现.docx_第2页
毕业设计(论文)-基于J2EE的爱家房屋租赁管理系统的设计与实现.docx_第3页
毕业设计(论文)-基于J2EE的爱家房屋租赁管理系统的设计与实现.docx_第4页
毕业设计(论文)-基于J2EE的爱家房屋租赁管理系统的设计与实现.docx_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

天津工业大学毕业设计(论文)基于J2EE的爱家房屋租赁管理系统的设计与实现全套设计加扣3012250582 姓 名 学 院 计算机科学与软件 专 业 软件工程 指导教师 职 称 2015 年 6月 1 日天津工业大学毕业设计(论文)任务书题目基于J2EE的爱家房屋租赁管理系统的设计与实现学生姓名XXX学院名称计算机科学与软件专业班级软件1104课题类型 实际课题课题意义 房屋租赁系统的设计与实现最终将为房屋的所有者或经营者和需求租房者带来很大的便利,能在很大程度上改善房屋租赁交易的状况,从而促进房屋租赁市场更好更快地发展,租到的房屋质量高了。房屋租赁系统的设计与开发将会大大提高本人对软件工程的理解,极大地提高本人的软件开发能力,为以后的软件开发提供经验,能够学以致用。任务与进度要求2015.3.9-2015.3.29 选题确认并完成开题报告、任务书的填写、提交、审核2015.3.30-2015.4.12 深入了解课题内容、需求分析、确定系统框架、熟悉开发工具2015.4.13-2015.5.10 完成课题概要设计和详细设计,代码编写、网页制作,完成系统的大部分功能,初稿完成2015.5.11-2015.5.28 进行系统调试,并在调试中进一步完善系统的各项功能,二稿完成2015.5.29-2015.6.6 毕业设计(论文)的审核、修改及定稿并装订2015.6.7 答辩主要参考文献1 高洪岩. 至简SSH:精通Java Web实用开发技术.电子工业出版社,2009.2 (美)Marty Hall,Larry Brown.赵学良译.Servlet与JSP核心编程.第二版.北京:清华大学出版社,2004.3 StevenJohnMetsker,WilliamCWake.Java设计模式 M.北京:人民邮电出版社,2006.4 程伟,汪孝宜.开发者突击:JSP网络开发经典模块实现全集.北京:电子工业 出版社,2008.5 明日科技.JSP 网络开发实例自学手册. 北京:人民邮电出版社,2006.起止日期2015年3月9日至2015年6月7日备注院长 教研室主任 指导教师 毕业设计(论文)开题报告表 2015年 3 月23日姓名XXX学院计算机科学与软件专业软件工程班级软件1104题目基于J2EE的爱家房屋租赁管理系统的设计与实现指导教师一、与本课题有关的国内外研究情况、课题研究的主要内容、目的和意义:1. 与本课题有关的国内外研究情况 随着社会的发展,房屋租赁正逐渐从谋生需要转变为人们日常生活的需要,准备租房和出租房屋的人逐年增加,随着信息技术与电子技术的发展,社会上的房屋中介已经从过去的传统方式转向了自动化,但是在管理方面还是存在很多不足之处,计算机等现代化管理手段没有得到充分的应用。 为了缓解这一矛盾,国内外开发了很多基于不同平台的房屋租赁系统。随着计算机技术的迅猛发展,社会资源的信息化、数据的分布处理、各种计算机资源共享等应用需求推动计算机技术朝着群体化方向发展,促使房屋租赁更加高效,更加规范。2. 课题研究的主要内容 出租方:注册、维护个人信息,登录后填写房源信息,申请发布,待批准后发布房源信息 承租方:注册、维护个人信息,登录后根据条件查询房源信息,申请看房,中介业务员接到申请后,确定看房时间,查看申请是否被批准,并确定看房时间 业务员:维护房源信息,冻结、撤销房源信息,审批房源发布信息,查看租房申请,回复申请3. 课题研究的主要的目的和意义 房屋租赁系统的设计与实现最终将为房屋的所有者或经营者和需求租房着带来很大的便利,能在很大程度上改善房屋租赁交易的状况,从而促进房屋租赁市场更好更快地发展,租到的房屋质量高了。房屋租赁系统的设计与开发将会大大提高本人对软件工程的理解,极大地提高本人的软件开发能力,为以后的软件开发提供经验,能够学以致用。4. 本次毕业设计应达到的目标 在房屋租赁巨大的需求下,结合自身专业特点,开发出一款房屋租赁系统,使房屋租赁系统能够满足房屋租赁中介机构的要求,让中介机构能够高效的管理房屋租赁,使得房屋租赁更加规范化。二、进度及预期结果:起止日期主要内容预期结果2015.3.9-2015.3.292015.3.30-2015.4.122015.4.13-2015.5.102015.5.11-2015.5.282015.5.29-2015.6.62015.6.7选题确认并完成开题报告、任务书的填写、提交、审核深入了解课题内容、需求分析、确定系统框架、熟悉开发工具完成课题概要设计和详细设计,代码编写、网页制作,完成系统的大部分功能,初稿完成进行系统调试,并在调试中进一步完善系统的各项功能,二稿完成毕业设计(论文)的审核、修改及定稿并装订答辩完成完成完成完成完成完成完成课题的现有条件硬件: 宏碁笔记本电脑软件: 运行环境:Windows7 旗舰版系统; 开发平台:MyEclipse 10; Tomcat服务器; Mysql数据库;参考文献:1 高洪岩. 至简SSH:精通Java Web实用开发技术.电子工业出版社,2009.2 (美)Marty Hall,Larry Brown.赵学良译.Servlet与JSP核心编程.第二版.北京:清华大学出版社,2004.3 StevenJohnMetsker,WilliamCWake.Java设计模式 M.北京:人民邮电出版社,2006 .4 程伟,汪孝宜.开发者突击:JSP网络开发经典模块实现全集.北京:电 子工业出版社,2008.5 明日科技.JSP 网络开发实例自学手册. 北京:人民邮电出版社,2006.审查意见指导教师: 年 月 日学院意见主管领导: 年 月 日 天津工业大学本科毕业设计(论文)评阅表(论文类)题目基于J2EE的爱家房屋租赁管理系统的设计与实现学生姓名XXX学生班级软件1104指导教师姓名评审项目指标满分评分选题能体现本专业培养目标,使学生得到较全面训练。题目大小、难度适中,学生工作量饱满,经努力能完成。10题目与生产、科研等实际问题结合紧密。10课题调研、文献检索能独立查阅文献以及从事其他形式的调研,能较好地理解课题任务并提出实施方案;有分析整理各类信息,从中获取新知识的能力。15论文撰写结构严谨,理论、观点、概念表达准确、清晰。10文字通顺,用语正确,基本无错别字和病句,图表清楚,书写格式符合规范。10外文应用能正确引用外文文献,翻译准确,文字流畅。5论文水平论文论点正确,论点与论据协调一致,论据充分支持论点,论证过程有说服力。15有必要的数据、资料支持,数据、资料翔实可靠,得出的结论有可验性。15论文有独到见解或有一定实用价值。10合计100意见及建议:评阅人签名: 年 月 日天津工业大学毕业设计(论文)成绩考核表学生姓名XXX学院名称计算机科学与软件专业班级软件1104题目基于J2EE的爱家房屋租赁管理系统的设计与实现1毕业设计(论文)指导教师评语及成绩:成绩: 指导教师签字: 年 月 日2毕业设计(论文)答辩委员会评语及成绩:成绩:答辩主席(或组长)签字: 年 月 日3毕业设计(论文)总成绩:a.指导教师给定成绩b.评阅教师给定成绩c.毕业答辩成绩总成绩(a0.5+b0.2+c0.3)摘 要房屋租赁系统是一种利用互联网技术,改善房屋租赁交易状况的新型交易机制,促进了房屋租赁市场更好更快地发展。本次毕业设计的任务是针对国内房屋中介公司的需求分析,了解房屋租赁业务流程,使用MyEclipse、MySQL、Tomcat等开发工具,设计与实现一个适用的房屋租赁系统。本系统采用SSH(Struts、Spring、Hibernate)的MVC架构的J2EE Web程序开发,前台使用ajax技术让页面零刷新,有利于保证企业通过本系统方便、快捷地管理房屋信息、租赁状态。本系统是将互联网技术用于房屋租赁信息的管理, 它能够存储和展示房屋发布租赁的信息,提供更新与检索房屋租赁信息的功能,提高工作效率。本文详细介绍了房屋租赁系统中发布展示模块以及看房管理模块的具体开发过程,包括需求分析文档、数据库表设计、业务逻辑设计以及各功能的实现与测试。在业务上完成了客户日常对房屋租赁信息发布、删除功能和申请看房功能,以及管理员审核房屋信息发布和申请看房信息的功能。关键词:房屋租赁系统;管理员审核;SSH;MVCABSTRACTThe new trading system is a mechanism for the rental use of Internet technology to improve the trading conditions of the rental, the rental market to promote better and faster development.The graduation project is the task of national housing agency for requirements analysis, to understand the rental business processes, MyEclipse, MySQL, Tomcat and other development tools, design and implement a suitable housing rental system.The system uses SSH (Struts, Spring, Hibernate) of the MVC architecture J2EE Web application development, future use of ajax technology refresh the page to zero will help ensure that enterprises quickly and easily manage housing information through the system, lease status. This system is used to manage the rental of Internet technology information, it can store and display rental houses publish information, provide feature updates and retrieval rental housing information, improve work efficiency.This paper describes the housing rental system, release management module display module as well as showings of specific development process, including needs analysis documents, database table design, business logic design, and implementation and testing of each function. On completion of the client business day of the rental information dissemination, and application showings function delete function, and the administrator audit function and application information publishing house showings information.Key words: Housing rental system; Administrator Audit; SSH;MVC目 录第一章 绪论11.1 论文研究的背景11.2 论文研究的目的及意义11.3 论文的组成及主要内容1第二章 系统使用技术简介32.1 J2EE概述32.2 MySQL概述32.3 Struts框架概述32.4 Spring框架概述42.5 Hibernate概述42.6 MyEclipse开发工具概述4第三章 房屋租赁管理系统分析53.1 软件定义53.2 系统目标53.3 房屋租赁管理系统需求性分析53.4 房屋租赁管理系统业务流程分析6第四章 房屋租赁系统的设计与实现84.1 程序员的编程规范及本系统的设计原则84.1.1 程序员的编程规范84.1.2 本系统的设计原则84.2 Struts、Hibernate、Spring框架的整合94.2.1 系统结构的总体说明94.2.2 新建一个工程94.2.3 Struts框架的添加94.2.4 Spring框架的添加94.2.5 配置数据源104.2.6 添加Hibernate支持104.2.7 整合SSH框架104.3 DAO设计与实现124.3.1 Hibernate逆向工程的添加124.3.2 DAO实现类的设计124.4 业务层的设计与实现144.4.1 业务逻辑类的设计144.4.2 业务层注入DAO244.5 数据库表的详细设计254.5.1 数据库概念结构设计254.5.2 数据库逻辑结构设计254.5.3 数据库表设计254.6 视图层的设计与实现274.6.1 制作背景及图片274.6.2 JSP页面的设计274.7 Action类的设计与实现274.8 系统业务逻辑模块的实现274.8.1 登录模块274.8.2 房屋信息管理模块27第五章 房屋租赁管理系统测试305.1 软件测试的目的305.2 软件测试的原则305.3 软件测试的方法305.4 本文测试的过程31第六章 结论346.1存在的问题346.2总结和心得346.3 本次毕业设计的结论34附录37.英文原文37.中文译文41谢辞45天津工业大学2015届本科生毕业设计(论文)第一章 绪论1.1 论文研究的背景随着互联网技术的发展和进步,互联网应用逐渐转向大规模的事务处理和对工作流的管理,这就出现了以互联网技术为核心的信息管理系统在大规模的信息处理和以及工作流管理等方面的系统,尤其是房屋租赁信息系统正逐渐受到人们的关注。最近几年我国信息产业飞速发展,房屋信息管理的人工管理方式在等需要大量信息处理的系统中效果明显欠缺,利用互联网信息技术提高管理与服务水平迫在眉睫。这样,信息化管理房屋租赁系统势在必行。在传统的房屋信息系统中,流程往往很复杂和繁琐的,这个流程中需要多道手续,全部流程都需要手工执行,效率明显欠佳,再加上它们之间联系复杂,统计与查询的方式也都不同,也许出现重复传递的情况,所以必须要实现信息化。随着网络技术的飞速发展,大部分中介公司都陆续使用信息管理技术对房屋信息进行管理。然而许多单位并没有很好地运用信息技术对房屋租赁信息进行管理,很多房屋租赁管理工作将所有管理事务全都交给工作人员来完成,若信息进行修改,都要人工来进行操作,十分复杂。如何开发一个便捷的房屋管理系统,是设计者面前的一个难题。通过对该系统进行深入研究和分析,全文从系统分析、数据库设计、功能模块三方面细化,阐述房屋租赁信息管理系统设计的实现的方法以及理论依据。最后系统开发部分,从技术层面对代码的实现进行深入说明。所以,基于MVC 的房屋租赁系统将会是日后的发展趋势。所以通过开发一个房屋租赁管理系统以便能更好的衔接当下技术。1.2 论文研究的目的及意义房屋租赁系统最终将为房屋的所有者和需求租房者带来极大的便利,能在很大程度上完善房屋租赁的现状,从而促进房屋租赁市场快速发展,租到的房屋质量高了。房屋租赁系统的设计与开发将会大大提高本人对软件工程的理解,极大地提高本人的软件开发能力,为以后的软件开发提供经验,能够学以致用。1.3 论文的组成及主要内容本文针对国内房屋租赁公司进行分析,使用MyEclipse、MySQL、Tomcat等开发工具,基于Struts、Spring、Hibernate,采用MVC设计模式,设计与实现适用于房屋租赁管理的系统,包括房屋信息发布、查询、管理员审核信息、审核看房申请等模块,帮助管理出租房屋的状态与种类。全文分为六个章节,每一个章节内容都是过渡论述的,并且每个章都有自己的重点与特色。第一章为绪论部分,主要说明了此次研究的背景以及研究的意义,重点阐述了什么是房屋租赁管理系统以及房屋租赁管理系统在房屋租赁交易中的重要性,也对房屋租赁管理系统的观点、目的和发展的现状进行了一些初步介绍。最后给出了文章的结构并对主要内容进行概括。第二章是对本次研究所涉及技术的综述,主要对研究过程中所用到的工具和技术进行介绍说明,让读者对本次设计使用的这些工具和技术有一定的了解。第三章为系统分析章节,该章节主要阐述了本系统的功能设计,大都是从使用者的角度考虑,并做了大量的分析,为后面系统设计打下了良好的设计与业务逻辑基础,从而在系统分析的基础上完成业务流程的设计和系统的整个结构的设计。第四章为系统实现部分,改章节详细说明了本系统的实现过程,包括搭建框架、设计数据库表以及MVC三层设计模式的划分与实现,并给出一些具体代码,让读者能对整个系统搭建过程有更为深刻的了解。同时该章节还给出了系统的部分界面,以及对界面进行简单的说明,让读者的印象更加直观。第五章为系统测试部分,该章节阐述测试目的、方法分类以及在本系统中的应用。第六章是全文的总结,写出了本人在本次研究过程中的心得体会,并举出一些在开发中遇到的问题与这些问题的解决方法。这里回顾了全文结构,说明了本人遇到的难点和创新点,最后对本次毕业设计进行总结。34天津工业大学2015届本科生毕业设计(论文)第二章 系统使用技术简介2.1 J2EE概述 在软件开发行业中,J2EE是一个适用于以服务器计算为核心基于WEB的、模块化的企业级应用,开放的、标准的开发的平台。J2EE组件例如JavaBean、JSP和Servlet运行于J2EE容器上,采用连接器连接到企业信息系统。J2EE可以集成多个的客户端,包括无线、台式和基于web浏览器的客户端等1。2.2 MySQL概述MySQL是一个小规模关系型数据库管理系统,很多中小型网站选择MySQL作为数据库。与其他数据库相比,MySQL具有下面几个特性:1. MySQL提供了用于C、C+、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl的API。2.可对包括Linux、Windows等多种操作系统进行支持。3.给很多语言的编程提供API。包括C、C+、Java等。4.极快的基于线程的内存分配系统。5. 通过使用优化的“单扫描多连接”,能实现极快的连接。6.提供多种数据库接口。7.操作千万条数据的大型数据库。8.与其他数据库如DB2、Oracle、SQL Server等相比较,MySQL也有不足的地方,如规模小、功能有限等,但就本系统来说,MySQL的功能已经绰绰有余了。 2.3 Struts框架概述Struts充分地体现了MVC的设计思想。主要功能是将请求传递给Action,并将处理后的结果返回给视图层。Struts有以下功能:1.生成表单对应的domain对象2.将请求发给对应的控制器3.在控制器中调用业务接口4.将业务逻辑类返回的结果封装并发给指定视图,视图把结果展示出来5.校验或是国际化工作2.4 Spring框架概述Spring简化了企业应用的开发,使用JavaBean并提供更多企业级应用的功能。其特点是分层架构,允许程序员自由选用Spring框架的全部或部分,同时支持其他优秀框架如Struts、Hibernate等。Spring是通过xml文件来对业务逻辑进行调用,若业务发生变化,只修改对应的xml文件即可。2.5 Hibernate概述Hibernate是一个对象关系映射框架。轻量级封装了JDBC,可以自由使用面向对象编程思想来操作数据库。Hibernate提供了很多常用的CRUD等操作,关联domain对象到数据库表的映射,可以大幅度减少SQL和JDBC的处理时间。2.6 MyEclipse开发工具概述MyEclipse企业级开发平台,是EclipseIDE的扩展,可以提高全部开发工作整合的效率。MyEclipse在开发、测试以及发布环节有着非常完整的功能,支持常用的开发技术 。第三章 房屋租赁管理系统分析3.1 软件定义本系统是面向房屋租赁公司的房屋租赁系统,可以对房屋信息分类以及租赁的状态进行管理,以及通知交易双方看房时间信息等。本系统所要解决的问题有:1. 出租方:注册、维护个人信息,登录后填写房源信息,申请发布,待批准后发布房源信息。2. 承租方:注册、维护个人信息,登录后按条件查询信息,申请看房,中介业务员接到申请后,确定看房时间,查看申请是否被批准,并确定看房时间。3. 管理员:维护房源信息,冻结、撤销房源信息,审批房源发布信息,查看租房申请,回复申请。3.2 系统目标本系统的目标是利用信息技术和互联网技术,为房屋的所有者或经营者和需求租房者带来很大的便利,以方便中介公司的管理者进行管理,能在很大程度上改善房屋租赁交易的状况,从而促进房屋租赁市场更好更快地发展,租到的房屋质量提高。由于本系统的目标是可以满足中介公司实际需求的系统,因此不仅要以现实为前提,抽象出业务逻辑,满足现实世界的要求。并有着丰富的管理功能,以达到企业管理者的要求。所以本系统完成后,还要定期进行维护和扩展,以整合更多中介公司需要的管理功能,提供更加丰富的信息以供中介公司管理者分析利用。 3.3 房屋租赁管理系统需求性分析现有的类似系统还是起步阶段,功能模块各不相同,根据最终目标,本次设计的主要技术需求应包括五个方面:1.用户注册以及填写个人信息每个用户要注册账号,并填写个人信息,以便以后发布房屋信息或申请查看房屋等。2.可以对房屋信息进行分类即使是中小型中介公司,其产品也一般不止一种。为了方便地进行管理,如果能根据所属对产品进行分类,那将使管理操作变得简单很多。3.可以房屋信息进行发布发布房屋的使用分类,具体描述,价格等属性。4.管理员审核发布的房屋信息和用户申请的看房信息 管理员可以对出租者发布的房屋信息和租房者申请的看房信息进行审核。5.邮件发送通知 管理员审核通过后,会将审核通过的通知发送到用户邮箱。根据以上信息,系统结构图如图3-1所示:登录房屋信息查询房屋信息管理房屋信息审核申请看房添加新房屋信息修改现有房屋信息按使用类别查询审核发布的信息审核申请看房信息选中信息申请看房出租房屋者租房用户管理员图3-1 系统结构图3.4 房屋租赁管理系统业务流程分析在本次设计当中共有三种活动角色,管理员具有审核权限,即可以审核发布的房屋信息和用户申请的看房信息;出租方与承租方只拥有部分权限,即出租方只能进行房屋信息的管理动作,承租方只能进行房屋信息的查询以及申请看房的动作。结合系统实际情况,业务流程图如图3-2所示:审核用户看房申请出租房屋者租房用户管理员选中房屋信息并申请看房产品类型操作房屋信息发布审核房屋发布信息查看房屋信息查看房屋信息列表查看房屋信息列表 图3-2 业务流程图第四章 房屋租赁系统的设计与实现4.1 程序员的编程规范及本系统的设计原则4.1.1 程序员的编程规范每一个软件都要耗费大量的成本进行维护,因此遵守编程规范对于一个程序员来说非常重要,可以大幅度改善程序的可读性。首先,相关的方法应写在一个类中。当类中含有联系紧密的方法时,该类就具有较强的内聚力。当类中含有多个不相关方法时,则称类有较弱的内聚力。因此类的内聚力越强说明程序越规范。其次,编写类时尽量满足以下要求:1.使方法更容易调试和维护2.使类的内聚力进可能大3.方法要专用4.方法的连接尽可能松散5.编写有独立性的方法再次,起个表义性较强的名字可以更容易理解代码。方法正确的命名,会让程序调试和维护很大程度上改善。最后,命名采用驼峰法,第二个单词开始首字母改为大写,这样可以完整表达类或方法的含义。4.1.2 本系统的设计原则为了使本系统符合中小型企业的实际要求,在开发中还需要遵循以下几个原则:1.系统实用性:提供房屋租赁公司的业务所需功能,解决当下公司遇到的难题,并多预留空间便于扩展。2.操作便捷:系统功能操作要简单易懂,明了便捷,公司对员工不额外进行操作上的指导。3.系统反馈准确:用户遇到操作上的问题,可以给出明确的信息便于用户改变操作方式。4.系统源程序可读:对一些代码、类和方法进行注释,提高程序可读性,便于程序员阅读代码以及为系统将来的维护和扩展做准备。5.面向对象:使用面向对象思想提高代码复用性。让程序更简单明了便于扩展和维护。4.2 Struts、Hibernate、Spring框架的整合4.2.1 系统结构的总体说明本系统是使用MVC设计模式,模型-视图-控制器。MVC模式由模型、视图、控制器三部分组成。 这种模式是为了实现web系统的程序分工。Model层实现业务逻辑。View层用来与用户进行交互。Controller层连接Model与View层,对用户的请求进行区别处理并选用适当的视图来显示数据,也可以对用户的输入进行封装,并映射成模型层可执行的操作。系统配置过程如下。4.2.2 新建一个工程本次毕业设计使用的开发工具为 MyEclipse 9.0。MyEclipse在开发、测试以及发布环节有着非常完整的功能,可以提高全部开发工作整合的效率。支持常用的开发技术。打开MyEclipse会弹出一个选择工程路径的对话框,选择E: HRMS_Project。新建一个Web工程,输入适当的工程名字HRMS,确定后生成名为HRMS的工程,这时一个新的WEB工程就创建成功了。4.2.3 Struts框架的添加项目创建完成后,在项目名HRMS_Project上点击右键,选择MyEclipse-Add Struts Capabilities。新窗口中选择Struts 1.2,修改Base package for new classes的包名,其余保持原状,点击Finish完成添加Struts框架。4.2.4 Spring框架的添加在工程名HRMS_Project上点击右键,选择MyEclipse-Add Spring Capabilities。再选择spring 2和 MyEclipse Libraries,再在下面的库文件中选择1.Spring 2.0 Persistence JDBC Libreries2.Spring 2.0 Persistence Core Libraries3.Spring 2.0 AOP Libraries4.Spring 2.0 Web Libraries5.Spring 2.0 Core Libraries等五个类库。Persistence JDBC与Persistence Core库都用于支持Spring持久化,AOP是Hibernate事务处理时使用,Web库是用于Struts和Spring的整合,Core是核心库,所以这五个库文件全都是必需的。下一步更改Spring的配置文件applicationContext.xml,路径修改成WebRoot/WEB-INF,点击完成后完成添加Spring框架。4.2.5 配置数据源接着需要配置数据源,打开数据库管理视图MyEclipse Database Explorer,右键单击DB Browser选择New,新窗口中配置数据库的驱动信息。首先Driver Template选择MySQL,Driver Name为MySQL,它是以后配置使用的驱动名字。然后在Connection URL、User name、Password分别填写数据库地址和端口、用户名、密码。最后点击Add JARS导入jar文件,本次设计使用的是mysql.Jar,最后点击完成提交数据源的配置。4.2.6 添加Hibernate支持数据源的配置成功后还需要添加Hibernate支持,回到项目视图MyEclipse Java Enterprise,对项目名HRMS_Project单击右键,选择MyEclipse-Add Hibernate Capabilities。选择Hibernate 3.1,其它设置部分均为默认选项,单击下一步。点击Spring configuration file,使用Spring容器来管理Hibernate框架,单击下一步。再选择Existing Spring configuration file, MyEclipse会选择项目中已存在的xml文件,会话工厂SessionFactory ID输入sessionFactory,单击下一步。接着在Bean Id中输入dataSource,数据库连接DB Driver里面选择刚刚配置好的数据源MySQL,剩余部分的配置信息MyEclipse会自动填写完整,单击下一步。最后取消Create SessionFactory Class,点击Finish完成Hibernate的添加。4.2.7 整合SSH框架将一个 Struts 应用和Spring 容器整合有很多优点。首先,Spring 的设计是为解决关于J2EE 的真实世界问题,比如低性能、复杂性以及可测试性等。其次,Spring 包含AOP接口,允许在程序中使用面向切面技术2。在工程目录的WebRoot/WEB-INF/目录下的struts-config.xml配置文件里,添加本系统整合Struts和Spring的具体代码如下: 其中的标签属性有顺序限制,如果顺序有误将使项目无法执行,添加时需要注意。这样就使Struts并不知道它被Spring管理,依然可以利用Spring管理框架,这样Struts不知道系统中存在Spring容器,所以便可以不需要使用其它控制反转来替换掉Spring容器而重写Struts方法。接着,由于加载Spring配置文件有可能导致无法获得Spring容易中已定义完成的Bean,所以还要修改WebRoot/WEB-INF/目录下的Web.xml配置文件,添加ContextLoaderListener配置加载applicationContext.xml文件,写好所有配置文件加载Spring框架,因此在Web.xml中添加如下代码: contextConfigLocation classpath:applicationContext.xmlorg.springframework.web.context.ContextLoaderListener最后,本系统让Hibernate每次对数据库进行CRUD操作都会在后台打印出对应的SQL语句,需要在Hibernate配置文件中添加一项配置。具体配置如下,在Hibernate配置中加一句话: true以方便检错和测试。如上所示进行操作就基本完成了SSH的整合。4.3 DAO设计与实现4.3.1 Hibernate逆向工程的添加Hibernate逆向工程的添加是为了生成数据库里对应表的Domain对象类、DAO类以及Hibernate配置文件等,逆向工程结束可以看到Hibernate包里包含:Domain对象类、DAO类以及Hibernate配置文件等。 首先,点击切换数据库浏览视图DB Browser,选择之前配置的数据库MySQL-Connected to MySQL-hrms-TABLE,将需要添加逆向工程的表选中,此处以user表为例进行说明。然后右键点击user表,选择Hibernate Reverse Engineering,在新窗口中的Java package中选择保domain类的路径,点击Next。最后Generator选择native选项,单击完成添加user表的Hibernate逆向工程。回到项目视图MyEclipse Java Enterprise,就可以在左边的工程目录的相应子目录上发现新建的user表的domain类和Hibernate配置文件。4.3.2 DAO实现类的设计本系统的DAO类是在项目中创建一个新类自己编写,编写的DAO类如下:package com.ztd.dao;import java.util.List;import javax.annotation.Resource;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.springframework.transaction.annotation.Propagation;import org.springframework.transaction.annotation.Transactional;import com.ztd.domain.Houses;Transactional(propagation=Propagation.REQUIRED)public class HibernateDao Resourceprivate SessionFactory sessionFactory;public void setSessionFactory(SessionFactory sessionFactory) this.sessionFactory = sessionFactory;public Session getSession()return sessionFactory.openSession();public void save(T user)getSession().save(user);sessionFactory.close();public List query(String hql)return (List) getSession().createQuery(hql).list();public void del(Integer id)Session session=sessionFactory.openSession();Transaction tx=session.beginTransaction();Houses houses=(Houses) session.load(Houses.class,id);session.delete(houses);mit();session.close();public void insert(Integer id,Integer count,String leibie,String path,String picname,double price,String text,String thingname,String uuidname)Session session=sessionFactory.openSession();Transaction tx=session.beginTransaction();Houses houses=(Houses) session.load(Houses.class,id);houses.setLeibie(leibie);houses.setPath(path);houses.setPicname(picname);houses.setPrice(price);houses.setText(text);houses.setUuidname(uuidname);mit();session.close();public void updateByShenhe(Integer id)Session session=sessionFactory.openSession();session.beginTransaction();Houses houses=(Houses)session.get(Houses.class, id);houses.setShenhe(1);session.update(houses);session.getTransaction().commit();public boolean check(T table,String username)String hql=from +table+ where username=+username+;List list=query(h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论