Spring Boot房屋租赁系统:技术架构解析

2 关键技术简介

2.1 JAVA技术

Java是一种多用途并且强大的编程语言,可用于开发运行在移动设备、台式计算机以及服务器端的软件。Java已及其流行。Java只要编写一次,无论什么地方都可以运行启动[1]。

Java语言是应用很广泛的语言,用它编写出的程序十分可靠安全,并且可以在任何系统平台运行[3]。java在线程机制上也是十分简便,其多线程的机制可以在某一时间内同时执行多个任务不会出现中断,巧妙使用这一特性可以让程序具有更好的实时行为和交互性。

Java可以是高级语言,在c++语言的基础上,取其精华去其糟粕,使其更加强大与实用。Java编程语言提供自动的垃圾回收机制,使程序员可以不用担心内存管理。

2.2 B/S结构

B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。只需要用户在客户端安装360浏览器、谷歌浏览器、QQ浏览器等当前大众浏览器,在电脑里面安装sqlserver、mysql数据库等数据库。安装好的浏览器与服务器端的数据库进行信息数据的交互。很多专门软件能够做到的事情,采用B/S结构模式也能实现,它能够结合Web浏览器技术,ActiveX技术以及多种脚本语言等技术。帮助程序开发者节约了不少开发成本。目前B/S结构成为程序开发主流结构,它最好的地方就是没有地点限制还不用专门安装软件,笔记本或者电脑能够上网就能访问系统。系统使用B/S进行开发在后期系统维护上面就会很省事,不用什么问题都在服务器上面操作,简单的客户端处理就解决部分问题,开发出来的程序跟用户交互性上面也会增强,还可以实时刷新浏览器进行程序局部的数据信息更新。

图2-1 B/S模式三层结构图

2.3 SQL数据库

Mysql现隶属于Oracle公司,之前隶属于SUN公司,却是MySQL AB公司研发出来的数据库[4]。

MySQL数据库是一种开源的关系行数据库操作系统其使用的SQL语言是用来访问数据库较为标准的常用数据库操作语言。而且MySQL数据库体积较小易于安装、运行速度较快、所花费的成本较低搭载超文本预处理器接口与web服务器软件或服务可以组成良好的开发环境。

Mysql是当今最为热门的数据库之一,它是用于WEB应用程序的最佳RDBMS(关系数据库管理系统)应用程序。Mysql所使用的语言也是访问数据库最常用的语言,而且体积较小,速度较快,并且成本较低,所以本系统选择Mysql作为系统的数据库,许多中小型的网站一般都是选择Mysql作为网站的数据库。Mysql的数据库是存放在表中的,所以它的速度较快,而且也较为的灵活。MySQL操作起来十分简便,因为MySQL不是讲所有的数据堆放在一起,这样数据量大,查找起来需要的时间很多。它是将数据保存在不同的表中,这些表具有关联性,查找时直接从表中获取数据,这样大大提高了查找的速度。且MySQL是免费的,这对于大多数研发人员来说,是极大的诱惑。MySQL可以使用标准的sql数据语句,使用起来简单方便。

4 系统设计

4.1 系统概要设计

房屋租赁系统并没有使用C/S结构,而是基于网络浏览器的方式去访问服务器,进而获取需要的数据信息,这种依靠浏览器进行数据访问的模式就是现在用得比较广泛的适用于广域网并且没有网速限制要求的B/S结构,图4-1就是开发出来的程序工作原理图。

在这里插入图片描述

图4-1系统工作原理图

4.2 系统结构设计

系统结构设计是将一个庞大的任务细分为多个小的任务的过程,这些小的任务分段完成后,组合在一起形成一个完整的任务。在整个设计过程,以确定可能的具体方案达成每一个小的最终目标,对于每一个小的目标而言,我们必须先了解一些相关的需求分析的信息。然后对系统进行初步的设计,并对其逐渐进行优化,设计出一个具体可实现的系统结构。

本基于Spring Boot的房屋租赁系统的功能结构设计如图4-2所示。

图4-2 系统结构图

4.3 系统顺序图设计

(1)登陆顺序图

用户在登录时,首先进入系统登录窗口,用户需要输入用户名和密码,点击登录按钮进行登录操作,系统会以用户名和密码为参数在数据库中进行登录信息的验证,验证成功则登录成功,进入用户主界面。登录模块顺序图如图4-3所示。

图4-3 登录顺序图

(2)注册顺序图

未有账号的用户可进入注册界面进行注册操作,在注册界面输入注册信息,点击提交按钮,系统首先判断用户名是否存在,存在则提示重新输入,不存在则验证注册信息是否正确,正确则在数据库中添加注册数据,提示注册成功。用户注册模块顺序图如图4-4所示。

图4-4 注册顺序图

4.4 数据库设计

一个好的数据库可以关系到程序开发的优劣,数据库设计离不开表结构的设计,还有表与表之间的联系,以及系统开发需要设计的数据表内容等信息。在进行数据库设计期间,还是需要多花时间进行考虑,最终设计出配套程序的数据库出来。

4.4.1 数据库E-R图设计

本基于Spring Boot的房屋租赁系统采用的是SQL数据库,数据存储快,因为房屋租赁系统,主要的就是对信息的管理,信息内容比较多,这就需要好好的设计一个好的数据库,分类要清楚,不能添加信息的时候,造成信息太过混乱,设计好的数据库首先就需要先把各个实体之间的关系表达明确。

E-R图是一种描述显示数据类型间的关系的数据描述方法,E-R图可以完整地映射出现实模型的关系。E-R图中的三个最为重要的元素就是实体、属性、关系,E-R图即由这三点组成。E-R图是最能体系各个实体之间关系的,包括每个实体都包括哪些属性,搞清楚这些我们设计数据库表的时候才能够不遗忘,才能完整的设计。下面我们例出主要的几个E-R图。

(1)报修信息实体属性E-R图如图4-5所示:

图4-5 报修信息实体E-R图

(2)房屋信息实体属性E-R图如图4-6所示:

图4-6 房屋信息实体属性E-R图

(3)租客信息实体属性E-R图如图4-7所示:

图4-7 租客信息实体属性E-R图

(4)管理员信息实体属性E-R图如图4-8所示:

图4-8 管理员信息实体属性E-R图

(5)看房申请信息实体属性E-R图如图4-9所示:

图4-9 看房申请信息实体属性E-R图

4.4.2 数据库表设计

本房屋租赁系统需要后台数据库,下面介绍数据库中的各个表的详细信息。各个表的设计结果如下:

表4-1 baoxiuxinxi报修信息表

列名 数据类型 长度 允许空 说明

id bigint 20 否 编号

addtime timestamp 是 创建时间

fangwubianhao varchar 200 是 房屋编号

xiangxidizhi varchar 200 是 详细地址

mingcheng varchar 200 是 名称

baoxiuneirong longtext 是 报修内容

baoxiuzhuangtai varchar 200 是 报修状态

baoxiushijian date 是 报修时间

zhanghao varchar 200 是 账号

xingming varchar 200 是 姓名

shouji varchar 200 是 手机

tupian varchar 200 是 图片

表4-2 fangwuxinxi房屋信息表

列名 数据类型 长度 允许空 说明

id bigint 20 否 编号

addtime timestamp 是 创建时间

fangwubianhao varchar 200 是 房屋编号

fangyuanleixing varchar 200 是 房源类型

fangwuhuxing varchar 200 是 房屋户型

tupian varchar 200 是 图片

zhuangtai varchar 200 是 状态

mianji varchar 200 是 面积

zujia int 11 是 租价

huzhuxingming varchar 200 是 户主姓名

lianxifangshivarchar 200 是 '联系方式 fabushijian date 是 发布时间 suozaishengfen varchar 200 是 所在省份 suozaichengshi varchar 200 是 所在城市 suozaidiqu varchar 200 是 所在地区 xiangxidizhi varchar 200 是 详细地址 xiangqing longtext 是 详情clicktime datetime 是 最近点击时间

clicknum int 11 是 点击次数

表4-3 zuke租客信息表

列名 数据类型 长度 允许空 说明

id bigint 20 否 编号

addtime timestamp 是 创建时间

zhanghao varchar 200 是 账号

mima varchar 200 是 密码

xingming varchar 200 是 姓名
zhiye varchar 200 是 职业 xingbie varchar 200 是 性别

shouji varchar 200 是 手机

youxiang varchar 200 是 邮箱

shenfenzheng varchar 200 是 身份证

zhaopian varchar 200 是 照片

`dizhi varchar 200 是 地址

表4-4 users用户信息表

列名 数据类型 长度 允许空 说明

id` bigint 20 否 编号

username varchar 100 是 用户名

password varchar 100 是 密码

role varchar 100 是 角色

addtime timestamp 是 新增时间

表4-5 kanfangshenqing看房申请信息表

列名 数据类型 长度 允许空 说明

id bigint 20 否 编号

addtime timestamp 是 创建时间

zhanghao varchar 200 是 账号

xingming varchar 200 是 姓名

shouji varchar 200 是 手机

shenfenzheng varchar 200 是 身份证
kanfangshijian date 是 看房时间 shenqingriq dater 是 申请日期

fangwubianhao varchar 200 是 房屋编号

zujia varchar 200 是 租价

mianji varchar 200 是 面积
xiangxidizhi varchar 200 是 详细地址 beizhu longtext 是 备注

sfsh varchar 200 是 是否审核

shhf` longtext 是 审核回复

相关推荐
喜欢猪猪2 分钟前
Django:从入门到精通
后端·python·django
一个小坑货2 分钟前
Cargo Rust 的包管理器
开发语言·后端·rust
bluebonnet276 分钟前
【Rust练习】22.HashMap
开发语言·后端·rust
uhakadotcom29 分钟前
如何实现一个基于CLI终端的AI 聊天机器人?
后端
Iced_Sheep1 小时前
干掉 if else 之策略模式
后端·设计模式
XINGTECODE1 小时前
海盗王集成网关和商城服务端功能golang版
开发语言·后端·golang
天天扭码2 小时前
五天SpringCloud计划——DAY2之单体架构和微服务架构的选择和转换原则
java·spring cloud·微服务·架构
程序猿进阶2 小时前
堆外内存泄露排查经历
java·jvm·后端·面试·性能优化·oom·内存泄露
FIN技术铺2 小时前
Spring Boot框架Starter组件整理
java·spring boot·后端