本文详细介绍了基于SSM框架设计与实现的房屋租赁系统。该系统旨在为房东和租客提供一个便捷、高效的在线平台,以满足日益增长的房屋租赁需求。系统主要功能包括用户注册登录、房源信息发布与管理、预约看房、租赁订单处理等。通过采用SSM框架,本系统实现了前后端的有效分离,增强了代码的可维护性和扩展性。此外,系统还集成了用户管理、权限控制、数据统计等功能模块,确保了系统的安全性和稳定性。对于房东而言,可以通过系统方便地发布和管理自己的房源信息;对于租客,则能够快速搜索到心仪的房源,并进行预约看房和租赁操作。
在实现过程中,我们首先对房屋租赁业务流程进行了深入分析,确定了系统的需求规格说明书。接着,根据需求设计了数据库模型,使用MyBatis实现了数据持久层的操作,保证了数据的高效存取。Spring框架则用于管理业务逻辑层的Bean,实现了依赖注入和控制反转,简化了业务逻辑的开发。SpringMVC作为表现层框架,负责请求的分发和视图解析,使得Web应用更加清晰易懂。系统不仅提供了友好的用户界面,还支持多种交互方式,如点赞、收藏、评论等,极大地提升了用户体验。最后,通过对系统的全面测试,验证了其功能的完整性和性能的稳定性,证明了基于SSM框架构建房屋租赁系统的可行性和优越性。
关键词:Java技术;房屋租赁系统;SSM框架
This paper introduces in detail the design and implementation of the house rental system based on SSM framework. The system is designed to provide landlords and tenants with a convenient and efficient online platform to meet the growing demand for housing rental. The main functions of the system include user registration and login, housing information release and management, booking, rental order processing, etc. By using SSM framework, the system realizes the effective separation of front and back end, and enhances the maintainability and expansibility of the code. In addition, the system also integrates user management, authority control, data statistics and other functional modules to ensure the security and stability of the system. For landlords, they can easily publish and manage their own housing information through the system; For renters, you can quickly search for the desired housing, and make an appointment to see the house and rent operations.
In the process of implementation, we first conducted an in-depth analysis of the house rental business process and determined the requirements specification of the system. Then, the database model is designed according to the requirements, and the operation of data persistence layer is realized by using MyBatis to ensure the efficient access of data. The Spring framework is used to manage the beans of the business logic layer, which implements dependency injection and inversion of control, and simplifies the development of the business logic. SpringMVC, as a presentation framework, is responsible for request distribution and view parsing, making Web applications clearer and easier to understand. The system not only provides a friendly user interface, but also supports a variety of interaction methods, such as liking, favorites, comments, etc., which greatly improves the user experience. Finally, through the comprehensive test of the system, the integrity of its function and the stability of its performance are verified, and the feasibility and superiority of building a house rental system based on SSM framework are proved.
Keywords:Java Technology; Housing rental system; SSM framework
1 绪论
1.1研究的背景和意义
近年来,随着城市化进程的加快和人口流动性的增加,房屋租赁市场的需求日益增长。根据马思稳和胡杨在《承德日报》中的报道[1],房屋租赁市场正在逐步回暖,这不仅反映了经济复苏的趋势,也体现了人们对居住灵活性的需求提升。然而,传统的房屋租赁模式存在信息不对称、手续繁琐等问题,导致租客和房东在寻找合适房源或租户时面临诸多不便。因此,开发一个高效便捷的在线房屋租赁系统显得尤为重要。
从技术角度来看,Java作为一种广泛应用于企业级应用开发的编程语言,在构建复杂业务逻辑和高并发处理方面具有显著优势[2]。特别是在Web应用开发中,SSM框架(Spring + SpringMVC + MyBatis)因其良好的分层设计和高效的开发效率而备受青睐。张浩在其研究中指出[3],SSM框架能够有效提高系统的可维护性和扩展性,适用于构建复杂的房屋租赁平台。此外,闫银娟的研究进一步验证了基于SSM框架的房屋租赁系统的设计与实现的可行性,为本研究提供了重要的理论基础和技术支持[4]。
房屋租赁市场的供需不匹配问题也是当前亟待解决的一个重要议题。曹瑶等人在《Sustainability》期刊上发表的研究[5]指出,公共租赁住房的供给与需求之间存在严重的失衡现象,这不仅影响了居民的生活质量,也对社会和谐稳定构成了挑战。通过引入智能化技术手段优化资源配置,可以有效缓解这一问题。薛元杰和李雅红提出了一种基于区块链技术的房屋租赁平台设计方案[6],旨在提高交易透明度和安全性,减少中间环节,降低信任成本。这些研究为本项目提供了宝贵的参考,同时也凸显了开发高效、透明的房屋租赁系统的必要性和紧迫性。
当前,国内外学者和开发者已经对房屋租赁系统的开发进行了广泛探索,并取得了一系列研究成果。魏子钦等人在《信息与电脑(理论版)》上发表的文章[7]介绍了基于JavaEE的房屋租赁系统的设计与实现,该系统通过模块化设计实现了功能的灵活扩展和维护。刘文卓则在华中科技大学的硕士论文[8]中探讨了基于区块链技术的房屋租赁系统的设计与实现,强调了区块链技术在提高数据安全性和交易透明度方面的优势。这些研究为本项目提供了重要的技术参考,尤其是在系统架构设计和关键技术选择方面。
在推荐算法的应用方面,张佳佳在其硕士学位论文[9]中详细研究了房屋租赁推荐系统的设计与实现,提出了基于用户行为分析的个性化推荐算法,显著提升了用户体验。王馨在哈尔滨理工大学的硕士论文[10]中进一步探讨了基于数据挖掘技术的房屋租赁管理系统的设计与实现,通过数据分析和挖掘技术提高了房源匹配的准确率。这些研究为本项目引入智能推荐和数据分析功能提供了理论依据和技术支持,有助于提高系统的智能化水平和服务质量。
除了上述研究外,唐苏旭在首都经济贸易大学的硕士论文[11]中探讨了基于SpringBoot的房屋租赁系统的设计与实现,展示了SpringBoot在简化开发流程和提高开发效率方面的优势。姜子旋也在华中科技大学的硕士论文[12]中对基于Web的房屋租赁系统进行了深入研究,强调了用户体验和系统易用性的重要性。此外,陈湘瑾等人在《科学技术创新》期刊上的文章[13]介绍了基于JSP开发技术的信息化房屋租赁系统,展示了传统Web开发技术在房屋租赁系统中的应用潜力。这些研究不仅丰富了房屋租赁系统的技术体系,也为本项目的开发提供了多方位的参考和借鉴。
房屋租赁系统的开发及实现,所需要的工作内容:
- 首先是确定选题,确定好所要做的系统,并对系统的背景及现在面临的一些问题等进行系统的初步确认。
(2)系统确认完成后,结合系统开发的需求进行确认系统开发所使用的技术,城市摊位管理系统的开发使用SSM框架,数据库进行平台的搭建开发,确认好使用的技术进行技术分析,所使用的技术是否可以完成系统的实现。
(3)确定好系统使用的技术,进行在线确认系统所划分的用户触,并且根据用户触划分确定所要设计的功能模块,对书店管理的设计主要划分别为管理员、注册用户和房东用户,并所使用的功能模块也相应不同,但系统的数据库实现的内容是交互的,用户可以随时根据自己的需求进行房源信息搜索,对于系统工作人员可以根据自己的分管内容进行在线信息的处理及操作,管理员获取到所有用户的详细数据信息,并根据需求进行第一时间处理解决。
(4)系统的功能模块确认完成后进行程序及界面的设计,设计完成后,通过测试来判断程序是否完善,对于系统测试,要不同的用户进行不同的内容编辑及提交,及使用不同的测试方式找出程序中存在的漏洞,并对程序出现的漏洞问题进行在线解决处理,如果测试系统没有任何问题时,可以将系统上传进行正式操作使用。
1.4论文结构与章节安排
论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对网站需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:
第一章:引言。第一章主要介绍了课题研究的背景、现状,系统开发的意义和本文的研究内容与主要工作。
第二章:开发技术介绍。第二章介绍了系统框架和数据库。
第三章:系统需求分析。第二章主要从系统的用户、功能等方面进行需求分析。
第四章:系统设计。第三章主要对系统框架、系统功能模块、数据库进行功能设计。
第五章:系统实现。第四章主要介绍了系统框架搭建、系统界面的实现。
第六章:系统测试。第五章主要对系统的部分界面进行测试并对主要功能进行测试
第七章:总结。
2 开发技术介绍
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。
2.1.1 Spring
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。
2.1.2 SpringMVC
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
2.1.3 mybatis
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。
数据库作为数据的存储地方是项目必须的,MySQL是一款非常优秀的关系型数据库,早期的MySQL并不是甲骨文公司的,后来才被他收购的。MySQL非常的小巧,安装包才几兆,sql语言的书写也比较容易学习,最重要的是MySQL同时也是一款开源的软件,所以不需要额外进行付费,本系统本身也是以学习总结所学知识为主,在系统的开发上最好尽量使用免费的软件,所以选用MySQL进行数据库管理。MySQL的容量也是非常大的,同时支持分库分表的操作,支持分布式,所以越来越多的中小企业选择该款数据库管理工具。另外值得一提的是,开源也有一个不好的地方,就是容易遭到破解和黑客攻击,所以MySQL在使用上还是更多的使用在中小项目中。
MySQL不会对平台有需求,所以任何一个程序员都可以通过 MySQL数据库来完成自己的系统开发,并且还可以节约大量的资源。因为它具有强大功能,所以可以用来储存这个系统的数据。
MySQL适合于各种应用,我们在运行数据库的时候,也很容易上手,我们只要编写一段代码,就可以完成相应的功能,并且可以在任何的平台上使用,而不需要再进行第二次的编译。MySQL数据库还具备在本地存储数据和允许结构化查询以方便管理的优势;MySQL是一个完全网络化的系统,它的数据库可以在互联网的任何位置被访问,它可以在任何地点与任何人分享;此外,MySQL也提供了存取控制的能力,可以阻止数据被非法使用,MySQL服务稳定,开发成本低,所以在开发过程中,MySQL数据库是最受欢迎的。
3 系统分析
系统分析是开发一个项目的先决条件,通过系统分析可以很好的了解系统的主体用户的基本需求情况,同时这也是项目的开发的原因。进而对系统开发进行可行性分析,通常包括技术可行性、经济可行性等,可行性分析同时也是从项目整体角度进行的分析。然后就是对项目的具体需求进行分析,分析的手段一般都是通过用户的用例图来实现。下面是详细的介绍。
3.1 可行性分析
(1)操作可行性:
此次项目设计参考了几个该模式下网站的开发案例,对他们的操作界面分析,将众多案例结合在一起,突出以人为本简化操作,所以具有基本计算机知识的人都会操作本项目。
因此操作可行性也没有问题。
(2)技术可行性:
技术可行性指的是对于搭建框架的可行性,以及有更优秀的技术出现时系统的技术更新换代的纳新性如何,开发时间成本费用比如何。
现有的Java技术能够迎合所有电子商务系统的搭建。开发这个房屋租赁系统的时候我采用了Java+MYSQL用以运行整体程序。
综上所述技术可行性也没有问题。
(3)法律可行性:
从开发者角度来看,Java和MYSQL是网上开源且免费的,在知识产权方面不会产生任何法律纠纷。
从用户使用角度来看,只要不再系统上贩卖违禁品,对系统做出条约协议,杜绝非法支付即可。
综上所述法律可行性也没有问题。
3.2.1 功能性分析
系统主要面向管理员、注册用户、房东用户,支持账号密码登录及个人资料管理功能,确保数据安全与操作便利性。主要功能如下:
(1)注册登录:用户可以通过注册成为系统用户,注册后可以用账号密码登录系统。
(2)首页:用户进入房屋租赁系统的时候,首先映入眼帘的是系统的首页、通知公告、房源信息等信息。
(3)通知公告:用户点击可查看网站公告、关于我们、联系方式和网站介绍等信息,方便用户浏览了解系统公告信息。
(4)新闻资讯:用户点击可查看新闻咨讯,同时可对咨讯文章进行点赞、收藏和评论。
(5)房源信息:用户点击可通过搜索房屋编号、房屋户型进行查看房源信息列表。点击进入想要了解的房屋可查看详情信息,可对房屋信息进行点赞、收藏和评论。点击“预约看房”按钮可填写预约信息,包括预约时间和预约备注。
(6)我的账户:用户可以在个人账户中查看并管理自己的个人信息。包括个人资料、修改密码等。
(7)个人中心:个人中心包含多个功能模块,如个人首页、预约看房、租赁订单、取消记录、评价信息、收藏和评论管理。点击进入“预约看房”可对用户预约信息进行审核回复。预约看房通过后,用户可点击“租赁”按钮填写租赁信息,包括租赁月数、起租日期、合计费用和租赁备注,租赁订单通过后可取消租赁操作,也可点击“评价”按钮进行评价操作。点击进入其他功能模块可进行查看和管理。
- 房东用户:
(1)注册登录:用户可以通过注册成为系统用户,注册后可以用账号密码登录系统。
(2)首页:用户进入房屋租赁系统的时候,首先映入眼帘的是系统的首页、通知公告、房源信息等信息。
(3)通知公告:用户点击可查看网站公告、关于我们、联系方式和网站介绍等信息,方便用户浏览了解系统公告信息。
(4)新闻资讯:用户点击可查看新闻咨讯,同时可对咨讯文章进行点赞、收藏和评论。
(5)房源信息:房东用户点击可通过搜索房屋编号、房屋户型进行查看房源信息列表。点击进入想要了解的房屋信息可查看详情信息,可对房屋信息进行点赞、收藏和评论。
(6)我的账户:用户可以在个人账户中查看并管理自己的个人信息。包括个人资料、修改密码等。
(7)个人中心:个人中心包含多个功能模块,如个人首页、房源信息、预约看房、租赁订单、取消记录、评价信息、收藏和评论管理。点击进入”房源信息“可添加信息房源信息,包括房东账号、房屋名称、房屋编号、封面图片、房屋户型、房屋区域、面积大小、租赁价格和房屋介绍。点击进入“预约看房”可对用户预约信息进行审核回复。点击进入“租赁订单”可对用户的租赁申请进行审核回复;点击进入其他功能模块可进行查看和管理。
3. 管理员:
(1)登录:管理员点击可查看销售数据、店铺占比、包邮占比和价格对比等数据统计图,更加方便了解各类数据情况。
(2)后台首页:管理员点击可查看评价信息和租赁订单信息数据统计图。
(3)系统用户:管理员可以查看系统用户(管理员、注册用户、房东用户)列表中某个用户的详情,可以对用户信息进行查询、审核、添加和删除操作。
(4)房源信息管理:管理员点击可查看房源信息列表,可对房东添加的房源信息进行审核通过。
(5)户型分类管理:管理员点击可查看户型分类列表,同时可对户型分类进行增删改查。
(6)区域分类管理:管理员点击可查看区域分类列表,同时可对区域分类进行增删改查。
(7)预约看房管理:管理员点击可查看预约看房列表,同时可对预约看房进行增删改查。
(8)租赁订单管理:管理员点击可查看租赁订单列表,同时可对租赁订单进行增删改查。
(9)取消记录管理:管理员点击可查看取消记录列表,同时可对取消记录进行增删改查。
(10)评价信息管理:管理员点击可查看评价信息列表,同时可对评价信息进行增删改查。
(11)系统管理:管理员点击可查看轮播图管理和广告管理;如需添加新的轮播图,点击右侧“添加”按钮,上传图片,输入标题和链接,点击“确认”按钮进行添加;如需添加新的广告,可点击右侧“添加”按钮,输入标题、链接、投放位置和内容;
(12)通知公告管理:当管理点击“通知公告管理”时,可查看通知公告;如需添加新的公告信息,点击右侧“添加”按钮,输入标题和正文,点击“确认”按钮进行添加。
(13)资源管理:管理员点击可查看新闻资讯;如需添加新的资讯,点击“添加”按钮,上传封面图,输入标题,选择分类,输入标签、描述和正文,点击“确认”按钮进行添加。同时可对资讯进行增删改查。
(14)权限管理:管理员可以对不同用户角色进行权限设置,控制不同用户的操作权限和访问范围。
房屋租赁系统的非功能性需求比如房屋租赁系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:
表3-1房屋租赁系统非功能需求表
安全性 | 主要指房屋租赁系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指房屋租赁系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响房屋租赁系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着房屋租赁系统的页面展示内容进行操作,就可以了。 |
可维护性 | 房屋租赁系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
3.3 系统用例分析
通过3.2功能的分析,得出了本房屋租赁系统的用例图:
注册用户用例如图3-2所示。
房东用户用例如图3-3所示
3-3 房东用户用例图
管理员用例如图3-4所示
3-4 管理员用户用例图
3.5本章小结
本章主要通过对房屋租赁系统的可行性分析、功能需求分析、系统用例分析,确定整个房屋租赁系统要实现的功能。同时也为房屋租赁系统的代码实现和测试提供了标准。
4 系统总体设计
本章主要讨论的内容包括房屋租赁系统的功能模块设计、数据库系统设计。
4.1 系统架构设计
本房屋租赁系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。
图4-1房屋租赁系统系统架构设计图
表现层(UI):又称UI层,主要完成本房屋租赁系统的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本房屋租赁系统时的舒适度。UI的界面设计也要适应不同版本的房屋租赁系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。
业务逻辑层(BLL):主要完成本房屋租赁系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。
数据层(DL):由于本房屋租赁系统的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本房屋租赁系统的数据存储和管理功能。
4.2 系统功能模块设计
4.2.1整体功能模块设计
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本房屋租赁系统中的用例。那么接下来就要开始对本房屋租赁系统的架构、主要功能和数据库开始进行设计。房屋租赁系统根据前面章节的需求分析得出,其总体设计模块图如图4-2所示。
图4-2 房屋租赁系统功能模块图
4.3 数据库设计
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
4.3.1 数据库概念结构设计
下面是整个房屋租赁系统中主要的数据库表以及总E-R实体关系图。
图4-3 房屋租赁系统总共ER关系图
4.3.2 数据库逻辑结构设计
通过上一小节中房屋租赁系统中总E-R关系图上得出一共需要创建很多个数据表。
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | token_id | int | 是 | 是 | 临时访问牌ID | |
2 | token | varchar | 64 | 否 | 否 | 临时访问牌 |
3 | info | text | 65535 | 否 | 否 | 信息 |
4 | maxage | int | 是 | 否 | 最大寿命:默认2小时 | |
5 | create_time | timestamp | 是 | 否 | 创建时间 | |
6 | update_time | timestamp | 是 | 否 | 更新时间 | |
7 | user_id | int | 是 | 否 | 用户编号 |
表 4-2-ad(广告信息)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | ad_id | smallint | 是 | 是 | 广告ID | |
2 | display | smallint | 是 | 否 | 显示顺序 | |
3 | hits | int | 是 | 否 | 点击量 | |
4 | location | varchar | 16 | 否 | 否 | 投放位置 |
5 | title | varchar | 32 | 否 | 否 | 广告标题 |
6 | content | longtext | 4294967295 | 否 | 否 | 广告内容 |
7 | img | varchar | 255 | 否 | 否 | 广告图 |
8 | url | varchar | 255 | 否 | 否 | 跳转链接 |
9 | create_time | timestamp | 是 | 否 | 创建时间 | |
10 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-3-area_classification(区域分类)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | area_classification_id | int | 是 | 是 | 区域分类ID | |
2 | area_name | varchar | 64 | 否 | 否 | 区域名称 |
3 | create_time | datetime | 是 | 否 | 创建时间 | |
4 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-4-article(文章)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | article_id | mediumint | 是 | 是 | 文章id | |
2 | title | varchar | 125 | 是 | 是 | 标题 |
3 | type | varchar | 64 | 是 | 否 | 文章分类 |
4 | hits | int | 是 | 否 | 点击数 | |
5 | praise_len | int | 是 | 否 | 点赞数 | |
6 | create_time | timestamp | 是 | 否 | 创建时间 | |
7 | update_time | timestamp | 是 | 否 | 更新时间 | |
8 | source | varchar | 255 | 否 | 否 | 来源 |
9 | url | varchar | 255 | 否 | 否 | 来源地址 |
10 | tag | varchar | 255 | 否 | 否 | 标签 |
11 | content | longtext | 4294967295 | 否 | 否 | 正文 |
12 | img | varchar | 255 | 否 | 否 | 封面图 |
13 | description | text | 65535 | 否 | 否 | 文章描述 |
表 4-5-article_type(文章分类)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | type_id | smallint | 是 | 是 | 分类ID | |
2 | display | smallint | 是 | 否 | 显示顺序 | |
3 | name | varchar | 16 | 是 | 否 | 分类名称 |
4 | father_id | smallint | 是 | 否 | 上级分类ID | |
5 | description | varchar | 255 | 否 | 否 | 描述 |
6 | icon | text | 65535 | 否 | 否 | 分类图标 |
7 | url | varchar | 255 | 否 | 否 | 外链地址 |
8 | create_time | timestamp | 是 | 否 | 创建时间 | |
9 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-6-auth(用户权限管理)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | auth_id | int | 是 | 是 | 授权ID | |
2 | user_group | varchar | 64 | 否 | 否 | 用户组 |
3 | mod_name | varchar | 64 | 否 | 否 | 模块名 |
4 | table_name | varchar | 64 | 否 | 否 | 表名 |
5 | page_title | varchar | 255 | 否 | 否 | 页面标题 |
6 | path | varchar | 255 | 否 | 否 | 路由路径 |
7 | parent | varchar | 64 | 否 | 否 | 父级菜单 |
8 | parent_sort | int | 是 | 否 | 父级菜单排序 | |
9 | position | varchar | 32 | 否 | 否 | 位置 |
10 | mode | varchar | 32 | 是 | 否 | 跳转方式 |
11 | add | tinyint | 是 | 否 | 是否可增加 | |
12 | del | tinyint | 是 | 否 | 是否可删除 | |
13 | set | tinyint | 是 | 否 | 是否可修改 | |
14 | get | tinyint | 是 | 否 | 是否可查看 | |
15 | field_add | text | 65535 | 否 | 否 | 添加字段 |
16 | field_set | text | 65535 | 否 | 否 | 修改字段 |
17 | field_get | text | 65535 | 否 | 否 | 查询字段 |
18 | table_nav_name | varchar | 500 | 否 | 否 | 跨表导航名称 |
19 | table_nav | varchar | 500 | 否 | 否 | 跨表导航 |
20 | option | text | 65535 | 否 | 否 | 配置 |
21 | create_time | timestamp | 是 | 否 | 创建时间 | |
22 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-7-book_a_viewing_appointment(预约看房)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | book_a_viewing_appointment_id | int | 是 | 是 | 预约看房ID | |
2 | user_account | int | 否 | 否 | 用户账号 | |
3 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
4 | user_phone_number | varchar | 64 | 否 | 否 | 用户电话 |
5 | landlord_account | int | 否 | 否 | 房东账号 | |
6 | house_name | varchar | 64 | 否 | 否 | 房屋名称 |
7 | house_number | varchar | 64 | 否 | 否 | 房屋编号 |
8 | leasing_price | double | 否 | 否 | 租赁价格 | |
9 | time_of_appointment | datetime | 否 | 否 | 预约时间 | |
10 | appointment_remarks | text | 65535 | 否 | 否 | 预约备注 |
11 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
12 | examine_reply | varchar | 16 | 否 | 否 | 审核回复 |
13 | rental_order_limit_times | int | 是 | 否 | 租赁限制次数 | |
14 | create_time | datetime | 是 | 否 | 创建时间 | |
15 | update_time | timestamp | 是 | 否 | 更新时间 | |
16 | source_table | varchar | 255 | 否 | 否 | 来源表 |
17 | source_id | int | 否 | 否 | 来源ID | |
18 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-8-cancel_record(取消记录)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | cancel_record_id | int | 是 | 是 | 取消记录ID | |
2 | user_account | int | 否 | 否 | 用户账号 | |
3 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
4 | user_phone_number | varchar | 64 | 否 | 否 | 用户电话 |
5 | landlord_account | int | 否 | 否 | 房东账号 | |
6 | house_name | varchar | 64 | 否 | 否 | 房屋名称 |
7 | house_number | varchar | 64 | 否 | 否 | 房屋编号 |
8 | order_number | varchar | 64 | 否 | 否 | 订单编号 |
9 | cancel_time | datetime | 否 | 否 | 取消时间 | |
10 | reason_for_cancellation | text | 65535 | 否 | 否 | 取消原因 |
11 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
12 | examine_reply | varchar | 16 | 否 | 否 | 审核回复 |
13 | create_time | datetime | 是 | 否 | 创建时间 | |
14 | update_time | timestamp | 是 | 否 | 更新时间 | |
15 | source_table | varchar | 255 | 否 | 否 | 来源表 |
16 | source_id | int | 否 | 否 | 来源ID | |
17 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-9-code_token(验证码)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | code_token_id | int | 是 | 是 | 验证码ID | |
2 | token | varchar | 255 | 否 | 否 | 令牌 |
3 | code | varchar | 255 | 否 | 否 | 验证码 |
4 | expire_time | timestamp | 是 | 否 | 失效时间 | |
5 | create_time | timestamp | 是 | 否 | 创建时间 | |
6 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-10-collect(收藏)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | collect_id | int | 是 | 是 | 收藏ID | |
2 | user_id | int | 是 | 是 | 收藏人ID | |
3 | source_table | varchar | 255 | 否 | 否 | 来源表 |
4 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
5 | source_id | int | 是 | 否 | 来源ID | |
6 | title | varchar | 255 | 否 | 否 | 标题 |
7 | img | varchar | 255 | 否 | 否 | 封面 |
8 | create_time | timestamp | 是 | 否 | 创建时间 | |
9 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-11-comment(评论)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | comment_id | int | 是 | 是 | 评论ID | |
2 | user_id | int | 是 | 是 | 评论人ID | |
3 | reply_to_id | int | 是 | 否 | 回复评论ID | |
4 | content | longtext | 4294967295 | 否 | 否 | 内容 |
5 | nickname | varchar | 255 | 否 | 否 | 昵称 |
6 | avatar | varchar | 255 | 否 | 否 | 头像地址 |
7 | create_time | timestamp | 是 | 否 | 创建时间 | |
8 | update_time | timestamp | 是 | 否 | 更新时间 | |
9 | source_table | varchar | 255 | 否 | 否 | 来源表 |
10 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
11 | source_id | int | 是 | 否 | 来源ID |
表 4-12-evaluative_information(评价信息)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | evaluative_information_id | int | 是 | 是 | 评价信息ID | |
2 | user_account | int | 否 | 否 | 用户账号 | |
3 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
4 | user_phone_number | varchar | 64 | 否 | 否 | 用户电话 |
5 | landlord_account | int | 否 | 否 | 房东账号 | |
6 | house_name | varchar | 64 | 否 | 否 | 房屋名称 |
7 | house_number | varchar | 64 | 否 | 否 | 房屋编号 |
8 | order_number | varchar | 64 | 否 | 否 | 订单编号 |
9 | evaluation_type | varchar | 64 | 否 | 否 | 评价类型 |
10 | evaluation_time | datetime | 否 | 否 | 评价时间 | |
11 | evaluation_content | text | 65535 | 否 | 否 | 评价内容 |
12 | create_time | datetime | 是 | 否 | 创建时间 | |
13 | update_time | timestamp | 是 | 否 | 更新时间 | |
14 | source_table | varchar | 255 | 否 | 否 | 来源表 |
15 | source_id | int | 否 | 否 | 来源ID | |
16 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-13-hits(用户点击)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | hits_id | int | 是 | 是 | 点赞ID | |
2 | user_id | int | 是 | 否 | 点赞人 | |
3 | create_time | timestamp | 是 | 否 | 创建时间 | |
4 | update_time | timestamp | 是 | 否 | 更新时间 | |
5 | source_table | varchar | 255 | 否 | 否 | 来源表 |
6 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
7 | source_id | int | 是 | 否 | 来源ID |
表 4-14-house_type_classification(户型分类)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | house_type_classification_id | int | 是 | 是 | 户型分类ID | |
2 | unit_name | varchar | 64 | 否 | 否 | 户型名称 |
3 | create_time | datetime | 是 | 否 | 创建时间 | |
4 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-15-landlord_user(房东用户)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | landlord_user_id | int | 是 | 是 | 房东用户ID | |
2 | landlords_name | varchar | 64 | 否 | 否 | 房东姓名 |
3 | landlords_phone_number | varchar | 64 | 否 | 否 | 房东电话 |
4 | landlords_gender | varchar | 64 | 否 | 否 | 房东性别 |
5 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
6 | user_id | int | 是 | 否 | 用户ID | |
7 | create_time | datetime | 是 | 否 | 创建时间 | |
8 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-16-notice(公告)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | notice_id | mediumint | 是 | 是 | 公告ID | |
2 | title | varchar | 125 | 是 | 否 | 标题 |
3 | content | longtext | 4294967295 | 否 | 否 | 正文 |
4 | create_time | timestamp | 是 | 否 | 创建时间 | |
5 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-17-praise(点赞)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | praise_id | int | 是 | 是 | 点赞ID | |
2 | user_id | int | 是 | 是 | 点赞人 | |
3 | create_time | timestamp | 是 | 否 | 创建时间 | |
4 | update_time | timestamp | 是 | 否 | 更新时间 | |
5 | source_table | varchar | 255 | 否 | 否 | 来源表 |
6 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
7 | source_id | int | 是 | 否 | 来源ID | |
8 | status | tinyint | 是 | 否 | 点赞状态:1为点赞,0已取消 |
表 4-18-property_information(房源信息)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | property_information_id | int | 是 | 是 | 房源信息ID | |
2 | landlord_account | int | 否 | 否 | 房东账号 | |
3 | house_name | varchar | 64 | 否 | 否 | 房屋名称 |
4 | house_number | varchar | 64 | 否 | 否 | 房屋编号 |
5 | cover_photo | varchar | 255 | 否 | 否 | 封面图片 |
6 | house_layout | varchar | 64 | 否 | 否 | 房屋户型 |
7 | housing_area | varchar | 64 | 否 | 否 | 房屋区域 |
8 | area_size | double | 否 | 否 | 面积大小 | |
9 | leasing_price | double | 否 | 否 | 租赁价格 | |
10 | house_introduction | longtext | 4294967295 | 否 | 否 | 房屋介绍 |
11 | hits | int | 是 | 否 | 点击数 | |
12 | praise_len | int | 是 | 否 | 点赞数 | |
13 | collect_len | int | 是 | 否 | 收藏数 | |
14 | comment_len | int | 是 | 否 | 评论数 | |
15 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
16 | book_a_viewing_appointment_limit_times | int | 是 | 否 | 预约看房限制次数 | |
17 | create_time | datetime | 是 | 否 | 创建时间 | |
18 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-19-registered_user(注册用户)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | registered_user_id | int | 是 | 是 | 注册用户ID | |
2 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
3 | user_phone_number | varchar | 64 | 否 | 否 | 用户电话 |
4 | user_gender | varchar | 64 | 否 | 否 | 用户性别 |
5 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
6 | user_id | int | 是 | 否 | 用户ID | |
7 | create_time | datetime | 是 | 否 | 创建时间 | |
8 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-20-rental_order(租赁订单)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | rental_order_id | int | 是 | 是 | 租赁订单ID | |
2 | user_account | int | 否 | 否 | 用户账号 | |
3 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
4 | user_phone_number | varchar | 64 | 否 | 否 | 用户电话 |
5 | landlord_account | int | 否 | 否 | 房东账号 | |
6 | house_name | varchar | 64 | 否 | 否 | 房屋名称 |
7 | house_number | varchar | 64 | 否 | 否 | 房屋编号 |
8 | order_number | varchar | 64 | 否 | 否 | 订单编号 |
9 | leasing_price | double | 否 | 否 | 租赁价格 | |
10 | lease_months | double | 否 | 否 | 租赁月数 | |
11 | total_cost | double | 否 | 否 | 合计费用 | |
12 | lease_start_date | datetime | 否 | 否 | 起租日期 | |
13 | lease_remarks | text | 65535 | 否 | 否 | 租赁备注 |
14 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
15 | examine_reply | varchar | 16 | 否 | 否 | 审核回复 |
16 | pay_state | varchar | 16 | 是 | 否 | 支付状态 |
17 | pay_type | varchar | 16 | 否 | 否 | 支付类型: 微信、支付宝、网银 |
18 | cancel_record_limit_times | int | 是 | 否 | 取消限制次数 | |
19 | evaluative_information_limit_times | int | 是 | 否 | 评价限制次数 | |
20 | create_time | datetime | 是 | 否 | 创建时间 | |
21 | update_time | timestamp | 是 | 否 | 更新时间 | |
22 | source_table | varchar | 255 | 否 | 否 | 来源表 |
23 | source_id | int | 否 | 否 | 来源ID | |
24 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-21-schedule(日程管理)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | schedule_id | smallint | 是 | 是 | 日程ID | |
2 | content | varchar | 255 | 否 | 否 | 日程内容 |
3 | scheduled_time | datetime | 否 | 否 | 计划时间 | |
4 | user_id | int | 是 | 否 | 用户ID | |
5 | create_time | datetime | 否 | 否 | 创建时间 | |
6 | update_time | datetime | 否 | 否 | 更新时间 |
表 4-22-score(评分)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | score_id | int | 是 | 是 | 评分ID | |
2 | user_id | int | 是 | 否 | 评分人 | |
3 | nickname | varchar | 64 | 否 | 否 | 昵称 |
4 | score_num | double | 是 | 否 | 评分 | |
5 | create_time | timestamp | 是 | 否 | 创建时间 | |
6 | update_time | timestamp | 是 | 否 | 更新时间 | |
7 | source_table | varchar | 255 | 否 | 否 | 来源表 |
8 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
9 | source_id | int | 是 | 否 | 来源ID |
表 4-23-slides(轮播图)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | slides_id | int | 是 | 是 | 轮播图ID | |
2 | title | varchar | 64 | 否 | 否 | 标题 |
3 | content | varchar | 255 | 否 | 否 | 内容 |
4 | url | varchar | 255 | 否 | 否 | 链接 |
5 | img | varchar | 255 | 否 | 否 | 轮播图 |
6 | hits | int | 是 | 否 | 点击量 | |
7 | create_time | timestamp | 是 | 否 | 创建时间 | |
8 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-24-upload(文件上传)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | upload_id | int | 是 | 是 | 上传ID | |
2 | name | varchar | 64 | 否 | 否 | 文件名 |
3 | path | varchar | 255 | 否 | 否 | 访问路径 |
4 | file | varchar | 255 | 否 | 否 | 文件路径 |
5 | display | varchar | 255 | 否 | 否 | 显示顺序 |
6 | father_id | int | 否 | 否 | 父级ID | |
7 | dir | varchar | 255 | 否 | 否 | 文件夹 |
8 | type | varchar | 32 | 否 | 否 | 文件类型 |
表 4-25-user(用户账户)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | user_id | int | 是 | 是 | 用户ID | |
2 | state | smallint | 是 | 否 | 账户状态:(1可用|2异常|3已冻结|4已注销) | |
3 | user_group | varchar | 32 | 否 | 否 | 所在用户组 |
4 | login_time | timestamp | 是 | 否 | 上次登录时间 | |
5 | phone | varchar | 11 | 否 | 否 | 手机号码 |
6 | phone_state | smallint | 是 | 否 | 手机认证:(0未认证|1审核中|2已认证) | |
7 | username | varchar | 16 | 是 | 否 | 用户名 |
8 | nickname | varchar | 16 | 否 | 否 | 昵称 |
9 | password | varchar | 64 | 是 | 否 | 密码 |
10 | | varchar | 64 | 否 | 否 | 邮箱 |
11 | email_state | smallint | 是 | 否 | 邮箱认证:(0未认证|1审核中|2已认证) | |
12 | avatar | varchar | 255 | 否 | 否 | 头像地址 |
13 | open_id | varchar | 255 | 否 | 否 | 针对获取用户信息字段 |
14 | create_time | timestamp | 是 | 否 | 创建时间 |
表 4-26-user_chat_friend(聊天用户好友)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | user_chat_friend_id | int | 是 | 是 | ID | |
2 | user_id | int | 是 | 否 | 用户ID | |
3 | friend_user_id | int | 是 | 否 | 用户好友ID | |
4 | friend_user_name | varchar | 255 | 否 | 否 | 好友名称 |
5 | create_time | timestamp | 是 | 否 | 创建时间 | |
6 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-27-user_chat_group(聊天用户群聊)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | user_chat_group_id | int | 是 | 是 | ID | |
2 | group_id | int | 否 | 否 | 群聊ID | |
3 | group_name | varchar | 255 | 否 | 否 | 群聊名称 |
4 | user_id | int | 否 | 否 | 用户ID | |
5 | create_time | timestamp | 是 | 否 | 创建时间 | |
6 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-28-user_chat_read(聊天用户消息)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | user_chat_read_id | varchar | 255 | 是 | 是 | ID |
2 | user_id | int | 否 | 否 | 接收人ID | |
3 | send_user_id | int | 否 | 否 | 发送人ID | |
4 | group_id | int | 否 | 否 | 群聊ID | |
5 | type | int | 否 | 否 | 类型1-点对点消息,2-群聊消息 | |
6 | create_time | timestamp | 否 | 否 | 时间 | |
7 | message | text | 65535 | 否 | 否 | 消息 |
表 4-29-user_group(用户组)
编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
1 | group_id | mediumint | 是 | 是 | 用户组ID | |
2 | display | smallint | 是 | 否 | 显示顺序 | |
3 | name | varchar | 16 | 是 | 否 | 名称 |
4 | description | varchar | 255 | 否 | 否 | 描述 |
5 | source_table | varchar | 255 | 否 | 否 | 来源表 |
6 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
7 | source_id | int | 是 | 否 | 来源ID | |
8 | register | smallint | 否 | 否 | 注册位置 | |
9 | create_time | timestamp | 是 | 否 | 创建时间 | |
10 | update_time | timestamp | 是 | 否 | 更新时间 |
4.4本章小结
整个房屋租赁系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
5 系统详细设计与实现
房屋租赁系统的详细设计与实现主要是根据前面的房屋租赁系统的需求分析和房屋租赁系统的总体设计来设计页面并实现业务逻辑。主要从房屋租赁系统界面实现、业务逻辑实现这两部分进行介绍。
5.1房东用户功能模块
用户注册:点击注册,进入注册页面,填写好账号、密码、确认密码、昵称、邮箱、身份:房东姓名、房东电话、房东性别等字段值,点击下方注册按钮,提示注册成功后,系统将自动跳转回到登录页面。界面图如下。
图5-1注册界面图
用户登录:点击“登录”按钮,输入用户名、密码、验证码登录系统,登录时前端会自动校验用户名与密码以及该用户是否审核通过,审核通过的用户输入正确登录成功,输入错误会有提示信息。登录界面如下图所示。
图5-2登录界面图
新闻资讯:用户点击可查看新闻咨讯,同时可对咨讯文章进行点赞、收藏和评论。界面如下图所示。
图5-3 新闻资讯界面图
个人中心:个人中心包含多个功能模块,如个人首页、房源信息、预约看房、租赁订单、取消记录、评价信息、收藏和评论管理。点击进入“预约看房”可对用户预约信息进行审核回复。点击进入“租赁订单”可对用户的租赁申请进行审核回复;点击进入其他功能模块可进行查看和管理。界面如下图所示。
图5-4个人中心界面图
(1)点击进入”房源信息“可添加信息房源信息,包括房东账号、房屋名称、房屋编号、封面图片、房屋户型、房屋区域、面积大小、租赁价格和房屋介绍。
图5-5房源信息添加界面图
图5-6预约看房审核界面图
房源信息:用户点击可通过搜索房屋编号、房屋户型进行查看房源信息列表。点击进入想要了解的房屋可查看详情信息,可对房屋信息进行点赞、收藏和评论。点击“预约看房”按钮可填写预约信息,包括预约时间和预约备注。界面如下图所示。
图5-7 房源信息界面图
个人中心:个人中心包含多个功能模块,如个人首页、预约看房、租赁订单、取消记录、评价信息、收藏和评论管理。点击进入“预约看房”可对用户预约信息进行审核回复。预约看房通过后,用户可点击“租赁”按钮填写租赁信息,包括租赁月数、起租日期、合计费用和租赁备注,租赁订单通过后可取消租赁操作,也可点击“评价”按钮进行评价操作。点击进入其他功能模块可进行查看和管理。界面如下图所示。

图5-8个人中心界面图

图5-9租赁订单界面图
房源信息管理:管理员点击可查看房源信息列表,可对房东添加的房源信息进行审核通过。界面如下图所示。
图5-10房源信息管理界面图
系统管理:管理员点击可查看轮播图管理和广告管理;如需添加新的轮播图,点击右侧“添加”按钮,上传图片,输入标题和链接,点击“确认”按钮进行添加;如需添加新的广告,可点击右侧“添加”按钮,输入标题、链接、投放位置和内容;界面如下图所示。
图5-11系统管理界面图
资源管理:管理员点击可查看新闻资讯;如需添加新的资讯,点击“添加”按钮,上传封面图,输入标题,选择分类,输入标签、描述和正文,点击“确认”按钮进行添加。同时可对资讯进行增删改查。界面如下图所示。
图5-12资源管理界面图
权限管理:管理员可以对不同用户角色进行权限设置,控制不同用户的操作权限和访问范围。界面如下图所示。
图5-13 权限管理界面图
6 系统测试
6.1系统测试的目的
系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。
系统测试包括:管理员登录功能测试、学生成绩添加测试、通知公告添加、奖学金申请添加、密码修改功能测试,如表6-1、6-2、6-3、6-4所示:
管理员登录功能测试:
表6-1 管理员登录功能测试表
用例名称 | 管理员登录系统 |
目的 | 测试管理员通过正确的用户名和密码可否登录功能 |
前提 | 未登录的情况下 |
测试流程 | 1) 进入登录页面 2) 输入正确的账号和密码 |
预期结果 | 账号和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
实际结果 | 实际结果与预期结果一致 |
房源信息添加功能测试:
表6-2 房源信息添加功能测试表
用例名称 | 房源信息添加发布测试用例 |
目的 | 测试房源信息发布功能 |
前提 | 房东用户正常登录情况下 |
测试流程 | 1)房东用户点击个人中心,然后点击房源信息添加按钮后并填写信息。 2)点击进行提交。 |
预期结果 | 提交以后,管理员审核后,页面首页会显示新的房源信息 |
实际结果 | 实际结果与预期结果一致 |
管理员添加通知公告界面测试:
表6-3 管理员添加通知公告界面测试表
用例名称 | 通知公告发布测试用例 |
目的 | 测试通知公告发布功能 |
前提 | 管理员用户正常登录情况下 |
测试流程 | 1)管理员点击通知公告,然后点击新增按钮后并填写信息。 2)点击进行提交。 |
预期结果 | 提交以后,页面首页会显示新的通知公告信息 |
实际结果 | 实际结果与预期结果一致 |
密码修改功能测试:
表6-4 密码修改功能测试表
用例名称 | 密码修改测试用例 |
目的 | 测试管理员密码修改功能 |
前提 | 管理员用户正常登录情况下 |
测试流程 | 1)管理员密码修改并完成填写。 2)点击进行提交。 |
预期结果 | 使用新的密码可以登录 |
实际结果 | 实际结果与预期结果一致 |
通过编写房屋租赁系统的测试用例,已经检测完用户登录功能测试、房源信添加测试、通知公告添加、密码修改功能测试,通过这4大模块为房屋租赁系统的后期推广运营提供了强力的技术支撑。
7 结论
本研究基于SSM框架成功设计并实现了一个房屋租赁系统,该系统有效地满足了房东和租客在房屋租赁过程中的核心需求。通过系统的用户注册登录、房源信息发布与管理、预约看房及租赁订单处理等功能模块,显著提升了租赁流程的便捷性和效率。特别是对于房东来说,他们能够轻松地管理和更新自己的房源信息;而对于租客而言,系统提供了直观的搜索界面和详细的房源信息展示,使得找到合适的房源变得更加简单快捷。此外,系统中集成的评价体系不仅增强了用户之间的信任度,还为后续用户的决策提供了宝贵的参考。
在技术层面,采用SSM框架的优势得到了充分体现。Spring框架确保了业务逻辑层的良好组织和高效运行,MyBatis则提供了灵活且高效的数据库操作支持,而SpringMVC简化了Web应用的开发流程,提升了代码的可维护性。这些技术选择共同促成了一个安全、稳定且易于扩展的系统架构。尽管系统已经具备了较为完善的功能和良好的用户体验,但在未来的版本中仍可以考虑引入更多智能化特性,如推荐算法优化房源匹配、增强数据分析能力以提供更精准的市场趋势预测等。这将进一步提升系统的竞争力,并更好地服务于日益增长的房屋租赁市场需求。
参考文献
- 马思稳,胡杨.房屋租赁市场回暖[N].承德日报,2025-02-24(002).
- 贾琴.Java编程语言的应用策略分析[J].集成电路应用,2024,41(10):84-85.DOI:10.19339/j.issn.1674-2583.2024.10.034.
- 张浩.SSM框架在Web应用开发中的设计与实现研究[J].电脑知识与技术,2023,19(08):52-54.DOI:10.14004/j.cnki.ckt.2023.0353.
- 闫银娟.基于SSM的房屋租赁系统的设计与实现[J].电脑知识与技术,2022,18(33):38-41.DOI:10.14004/j.cnki.ckt.2022.2092.
- Cao Y ,Yi D ,Huang Y , et al.Mismatches between the Supply and Demand of Public Rental Housing in Chinese Cities[J].Sustainability,2024,16(19):8358-8358.
- 薛元杰,李雅红.基于区块链技术的房屋租赁平台的设计与实现[J].现代信息科技,2024,8(14):102-105.DOI:10.19850/j.cnki.2096-4706.2024.14.021.
- 魏子钦,梁艳美,单豫洲.基于JavaEE的房屋租赁系统[J].信息与电脑(理论版),2021,33(24):137-139.
- 刘文卓.基于区块链的房屋租赁系统的设计与实现[D].华中科技大学,2022.DOI:10.27157/d.cnki.ghzku.2022.000013.
- 张佳佳.房屋租赁推荐系统的研究与实现[D].西京学院,2022.DOI:10.27831/d.cnki.gxjxy.2022.000113.
- 王馨.基于数据挖掘的房屋租赁管理系统设计与实现[D].哈尔滨理工大学,2021.DOI:10.27063/d.cnki.ghlgu.2021.001145.
- 唐苏旭.基于SpringBoot的房屋租赁系统的设计与实现[D].首都经济贸易大学,2021.DOI:10.27338/d.cnki.gsjmu.2021.000801.
- 姜子旋.基于web的房屋租赁系统的设计与实现[D].华中科技大学,2020.DOI:10.27157/d.cnki.ghzku.2020.006920.
- 陈湘瑾,孙瑜鸿,祖子帅,等.基于JSP开发技术的信息化房屋租赁系统[J].科学技术创新,2021,(09):106-107.
- 柯灵.Java编程语言在计算机软件开发中的应用与问题处理探析[J].电脑知识与技术,2024,20(27):45-47.DOI:10.14004/j.cnki.ckt.2024.1389.
- 薛元杰,李雅红.基于区块链技术的房屋租赁平台的设计与实现[J].现代信息科技,2024,8(14):102-105.DOI:10.19850/j.cnki.2096-4706.2024.14.021.
- 张浩.SSM框架在Web应用开发中的设计与实现研究[J].电脑知识与技术,2023,19(08):52-54.DOI:10.14004/j.cnki.ckt.2023.0353.
- 曹华山.SSM框架在Web应用开发中的设计与实现[J].无线互联科技,2021,18(11):108-109.
- Qingshui X ,Zongyang H ,Haifeng M , et al.Housing rental system based on blockchain Technology[J].Journal of Physics: Conference Series,2021,1948(1):
致 谢
逝者如斯夫,不舍昼夜。转眼间,大学生会员活便已经接近尾声,人面对着离别与结束,总是充满着不舍与茫然,我亦如此,仍记得那年秋天,我迫不及待的提前一天到了学校,面对学校巍峨的大门,我心里充满了期待:这里,就是我新生活的起点吗?那天,阳光明媚,学校的欢迎仪式很热烈,我面对着一个个对着我微笑的同学,仿佛一缕缕阳光透过胸口照进了我心里,同时,在那天我认识可爱的室友,我们携手共同度过了这难忘的两年。如今,我望着这篇论文的致谢,不禁又要问自己:现在,我们就要说再见了吗?
感慨莫名,不知所言。遥想当初刚来学校的时候,心里有一点点排斥,但是随着我对学校的慢慢认识与了解,我才认识到了她的美丽,她的柔情,并且慢慢的喜欢上了这个校园,但是时间太快了,快到我还没有好好体会她的美丽便要离开了,但是她带给我的回忆,永远不会离开我,也许真正离开那天我的眼里会满含泪水,我不是因为难过,我只是想将她的样子映在我的泪水里,刻在我的心里。最后,感谢我的老师们,是你们教授了我们知识与做人的道理;感谢我的室友们,是你们陪伴了我如此之久;感谢每位关心与支持我的人。
少年,追风赶月莫停留,平芜尽处是春山。
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~