基于Java+SpringBoot的房源出租信息管理系统【源码+论文+演示视频+包运行成功】

news2024/11/17 17:24:59

博主介绍csdn特邀作者、博客专家、java领域优质创作者、博客之星,擅长Java、微信小程序、Python、Android等技术,专注于Java技术领域和毕业项目实战

🍅文末获取源码联系🍅

👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟

Java项目精品实战案例(300套)
Java微信小程序项目实战(200套)

Python项目精品实战案例(100套)

目录

一、效果演示

二、前言介绍

三、主要技术

四、系统设计

4.1、主要功能模块设计

4.2、系统开发架构图

4.3、系统逻辑结构设计

五、功能实现截图

六、数据库设计

七、关键代码

八、源码获取


一、效果演示

基于springboot+vue的养老服务管理系统演示视频

二、前言介绍

本次的设计就是针对房源出租信息管理系统进行的信息化建设,在语言技术选择上采用成熟稳定的JAVA语言,另外一方面为了能够使开发更接近目前主流技术还特意采用了Spring Boot框架来进行框架设计。前端页面框架方面还是选择了比较流行的JSP可以从不同角度来满足房源信息管理系统的页面需求。技术及房产行业的特有业务加持来共同完成信息化的建设。

三、主要技术

技术名作用
SpringBoot后端框架
JSP前端技术
MySQL数据库

四、系统设计

4.1、主要功能模块设计

4.2、系统开发架构图

4.3、系统逻辑结构设计

 

五、功能实现截图

首页

后台登录

 房源信息添加页面

 申请租房查询

 

这里功能太多,就不一一截图展示了

六、数据库设计

E-R图

管理员信息属性有:用户名、密码、编号。如下图所示。

用户信息属性包括:编号,姓名,性别,年龄,电话,邮箱,地址,身份证号。具体如下图所示。

房屋信息

将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。 

 

 

 

七、关键代码

package com.example.service;

import cn.hutool.core.collection.CollectionUtil;
import com.example.dao.FangdongInfoDao;
//kuabiaojisuan1
import com.example.entity.*;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import com.example.entity.FangdongInfo;
//kuabiaojisuan2
import com.example.exception.CustomException;
import com.example.common.ResultCode;
import com.example.vo.FangdongInfoVo;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import cn.hutool.crypto.SecureUtil;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;
import java.util.Map;

@Service
public class FangdongInfoService {

    @Resource
    private FangdongInfoDao fangdongInfoDao;
	
	//kuabiaojisuan3

    public FangdongInfo add(FangdongInfo fangdongInfo) {
        List<Long> touxiangflst = fangdongInfo.getTouxiangflst();
        if (!CollectionUtil.isEmpty(touxiangflst)) {
            fangdongInfo.setTouxiang(touxiangflst.toString());
        }
		
		        //shangxchxuantupxian
        // 唯一校验
        int count = fangdongInfoDao.checkRepeat("yonghuming", fangdongInfo.getYonghuming(), null);
if (count > 0) {
	throw new CustomException("1001", "该用户名\"" + fangdongInfo.getYonghuming() + "\"已存在");
}
      // fangdongInfo.setAccount((double) 0);
	  
        fangdongInfoDao.insertSelective(fangdongInfo);
        return fangdongInfo;
    }
	
	public List<Map<String,String>> findByDiqu() {
        return fangdongInfoDao.findByDiqu();
    }

    public void delete(Long id) {
        fangdongInfoDao.deleteByPrimaryKey(id);
    }

    public void update(FangdongInfo fangdongInfo) {
        List<Long> touxiangflst = fangdongInfo.getTouxiangflst();
        if (!CollectionUtil.isEmpty(touxiangflst)) {
            fangdongInfo.setTouxiang(touxiangflst.toString());
        }
		
		        //shangxchxuantupxian
		//youdianzan
        fangdongInfoDao.updateByPrimaryKeySelective(fangdongInfo);
    }

    public FangdongInfo findById(Long id) {
        return fangdongInfoDao.selectByPrimaryKey(id);
    }

    public List<FangdongInfoVo> findAll() {
        return fangdongInfoDao.findByJianjie("all");
    }

    public PageInfo<FangdongInfoVo> findPage(String jianjie, Integer pageNum, Integer pageSize, HttpServletRequest request) {
        PageHelper.startPage(pageNum, pageSize);
		
		List<FangdongInfoVo> all=null;
        Account user = (Account) request.getSession().getAttribute("user");
        if (user.getLevel().equals("管理员")) {all = fangdongInfoDao.findByJianjie(jianjie);}
		
        
        return PageInfo.of(all);
    }
	
	public PageInfo<FangdongInfoVo> findPageqt(String jianjie, Integer pageNum, Integer pageSize, HttpServletRequest request) {
        PageHelper.startPage(pageNum, pageSize);
		
		List<FangdongInfoVo> all=null;
        Account user = (Account) request.getSession().getAttribute("user");
        all = fangdongInfoDao.findByJianjie(jianjie);
		
	
	
        
        return PageInfo.of(all);
    }

   // public FangdongInfoVo findByUserName(String name) {
//        return fangdongInfoDao.findByUsername(name);
//    }

	public FangdongInfo login(String yonghuming, String mima) {
        FangdongInfo fangdongInfo = fangdongInfoDao.findByYonghumingzj(yonghuming);
        if (fangdongInfo == null) {
            throw new CustomException(ResultCode.USER_ACCOUNT_ERROR);
        }
        if (!SecureUtil.md5(mima).equalsIgnoreCase(fangdongInfo.getMima())) {
            throw new CustomException(ResultCode.USER_ACCOUNT_ERROR);
        }
        return fangdongInfo;
    }
	
    public void changeStatus(Long id) {
        FangdongInfo fangdongInfo = fangdongInfoDao.selectByPrimaryKey(id);
        if(fangdongInfo.getStatus().equals("是")){
            fangdongInfo.setStatus("否");
            fangdongInfoDao.updateByPrimaryKey(fangdongInfo);
        }else if(fangdongInfo.getStatus().equals("否")){
            fangdongInfo.setStatus("是");
            fangdongInfoDao.updateByPrimaryKey(fangdongInfo);
        }
    }
	//ddaizdhifu
	//youtixing
	 public void update2(FangdongInfoVo fangdongInfo) {
        List<Long> touxiangflst = fangdongInfo.getTouxiangflst();
        if (!CollectionUtil.isEmpty(touxiangflst)) {
            fangdongInfo.setTouxiang(touxiangflst.toString());
        }
		
		        //shangxchxuantupxian
        if (StringUtils.isEmpty(fangdongInfo.getMima())) {
            // 默认密码123456
            fangdongInfo.setMima(SecureUtil.md5("123456"));
        } else {
            fangdongInfo.setMima(SecureUtil.md5(fangdongInfo.getMima()));
        }
        fangdongInfoDao.updateByPrimaryKeySelective(fangdongInfo);
    }
	
   
}

八、源码获取

大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

精彩专栏推荐订阅下方专栏👇🏻👇🏻👇🏻👇🏻

Java项目精品实战案例(300套)

Java微信小程序项目实战(200套)

Python项目精品实战案例(100套)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/906166.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信删除的聊天记录怎么恢复?满满干货,建议收藏!

微信的出现逐渐改变了我们的社交方式&#xff0c;它架起了我们与朋友、家人以及同事之间的沟通桥梁&#xff0c;成为我们生活中不可缺失的一部分。 但是总会有那么点意外会发生&#xff0c;比如自己和朋友吵架了&#xff0c;一怒之下将朋友删除&#xff0c;导致所有聊天记录都…

2分钟搭建自己的GPT网站

如果觉得官方免费的gpt&#xff08;3.5&#xff09;体验比较差&#xff0c;总是断开&#xff0c;或者不会fanqiang&#xff0c;那你可以自己搭建一个。但前提是你得有gpt apikey。年初注册的还有18美金的额度&#xff0c;4.1号后注册的就没有额度了。不过也可以自己充值。 有了…

ubuntu18.04安装远程控制软件ToDest方法,针对官网指令报错情况

有时我们在家办公&#xff0c;需要控制实验室的笔记本&#xff0c;因此好用的远程控制软件会让我们的工作事半功倍&#xff01; 常用的远程控制软件有ToDesk&#xff0c;向日葵&#xff0c;以及TeamViewer&#xff0c;但是为感觉ToDesk更流畅一些&#xff0c;所以这里介绍一下…

C++新经典07--auto、头文件防卫、引用与常量

auto的使用 严格来讲&#xff0c;在C语言中&#xff0c;如果某个函数中需要用到一些局部变量&#xff0c;那么局部变量都会集中定义在函数开头&#xff0c;而在C中不必遵循这样的规则&#xff0c;随时用随时定义即可。当然&#xff0c;作用域一般就是从定义的地方开始到该函数…

人工智能引领图文扫描新趋势

1. 背景和影响 近日&#xff0c;中国大学生服务外包创新创业大赛决赛在江南大学圆满落幕。为满足现代服务产业企业的现实需求&#xff0c;本次竞赛内容设计充分聚焦企业发展中所面临的技术、管理等现实问题&#xff0c;与产业的结合度更紧密&#xff0c;智能文字识别技术是大赛…

6款必备的办公软件,个个好用到爆,让你电脑成为真正利器

在现代办公环境中&#xff0c;电脑已经成为我们必不可少的工作工具。而要发挥电脑的最大作用&#xff0c;就需要借助一些优秀的办公软件。下面&#xff0c;就来介绍五款必备的办公软件&#xff0c;它们个个好用到爆&#xff0c;让你的电脑成为真正的利器&#xff01; 文件快速搜…

性能优越的静电监控系统是怎样的?

随着社会的发展&#xff0c;各种监控系统应运而生。静电监控系统是其中之一。它具有优异的性能和稳定性&#xff0c;能够有效地检测和发现静电。 1&#xff1a;静电监控系统的优势 静电监控系统是一种先进的自动化控制系统&#xff0c;它能够有效地检测和控制企业运营中的各种…

【Java从0到1学习】10 Java常用类汇总

1. System类 System类对读者来说并不陌生&#xff0c;因为在之前所学知识中&#xff0c;需要打印结果时&#xff0c;使用的都是“System.out.println();”语句&#xff0c;这句代码中就使用了System类。System类定义了一些与系统相关的属性和方法&#xff0c;它所提供的属性和…

条码通讯配置

由Leuze&#xff08;劳易测&#xff09; LSIS 222 M5M-R1/MA208i系统组成 连接说明及器件明细&#xff1a; 打开条码调试软件BPS Configuration tool对M208i进行ip 和端口号进行配置&#xff0c;条码选择作为客户端&#xff0c;输入ip和端口号&#xff0c;选择串口通讯波特…

基于java校园二手交易平台-lw-源码

二手交易平台论文 源码 文章目录 前言一、主要技术javaMysql数据库JSP技术B/S结构 二、系统设计三、功能截图总结 前言 随着社会的不断发展与进步&#xff0c;人们对信息科学化的认识越来越深入&#xff0c;管理工作的重要性逐渐被认识到。科学化的管理能够实现信息存储的准确…

【O2O领域】Axure外卖订餐骑手端APP原型图,外卖众包配送原型设计图

作品概况 页面数量&#xff1a;共 110 页 兼容软件&#xff1a;Axure RP 9/10&#xff0c;不支持低版本 应用领域&#xff1a;外卖配送、生鲜配送 作品申明&#xff1a;页面内容仅用于功能演示&#xff0c;无实际功能 作品特色 本品为外卖订餐骑手端APP原型设计图&#x…

nodejs+vue+elementui实验室课程预约管理系统 t1g73

通过前面的功能分析可以将实验室课程管理系统的功能分为管理员、学生和教师三个部分&#xff0c;系统的主要功能包括首页、个人中心、教师管理、学生管理、教师课表管理、实验室信息管理、实验课程管理、预约记录管理、实验成绩管理、设备信息管理、借用记录管理、归还记录管理…

解决云服务连接时长过短,不到一会儿自动断开

我们在使用xshell或者FinalShell连接云服务器操作时&#xff0c;总是十分钟就自动断开&#xff0c;很烦&#xff0c; 下面我们设置一下&#xff0c;让他可以使用很长时间&#xff08;需要有一定的linux命令的基础&#xff09; cd /etc/ssh 进入到ssh这个目录&#xff0c;查看…

node使用高版本的oracledb导致连接oracle的Error: NJS-138异常

异常信息如下 Error: NJS-138: connections to this database server version are not supported by node-oracledb in Thin mode 我的oracle版本是11g&#xff0c;之前的使用正常&#xff0c;今天却报错了&#xff0c;显示不支持thin模式&#xff0c;后面回退版本就可以了。

Lnton羚通算法算力云平台【PyTorch】教程:torch.nn.Softsign

torch.nn.Softsign 原型 CLASS torch.nn.Softsign() 图 代码 import torch import torch.nn as nnm nn.Softsign() input torch.randn(4) output m(input)print("input: ", input) print("output: ", output)# input: tensor([ 0.0046, -0.4135, -2…

SAP 开发创建后台job(SM36)

T-code&#xff08;SE38&#xff09;写一个程序&#xff1a;取数并保存到透明表&#xff0c;假如程序名叫&#xff08;ZPRG_TEST001&#xff09;; T-code&#xff08;SM36&#xff09;定义一个后台作业&#xff0c;设置执行频率为每天晚上12点&#xff0c;设置步骤如下&#x…

简单介绍 CPU 的工作原理

内部架构 CPU 的根本任务就是执行指令&#xff0c;对计算机来说最终都是一串由 0 和 1 组成的序列。CPU 从逻辑上可以划分成 3 个模块&#xff0c;分别是控制单元、运算单元和存储单元 。其内部架构如下&#xff1a; 【1】控制单元 控制单元是整个CPU的指挥控制中心&#xff…

【力扣】77. 组合 <回溯、回溯剪枝>

目录 【力扣】77. 组合题解回溯回溯法三步剪枝优化 【力扣】77. 组合 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按任何顺序返回答案。 示例 1&#xff1a; 输入&#xff1a;n 4, k 2 输出&#xff1a; [[2,4],[3,4],[2,3],[1,2]…

x86 Linux系统下构建交叉编译工具(3)

接前一篇文章&#xff1a;x86 Linux系统下构建交叉编译工具&#xff08;2&#xff09; 本文参考以下文章&#xff1a; 建立交叉编译器 for arm &#xff08;binutils-2.17 gcc-3.4.6 glibc-2.3.6&#xff09; 特此致谢&#xff01; 上一回构建了binutils的交叉环境&#xff0…

实例040 限制窗体大小

实例说明 Windows窗体是可以随意改变大小的&#xff0c;然而对于一些要求严格的窗体&#xff0c;开发人员不希望用户随意的改变其大小&#xff0c;例如&#xff0c;定位准确的地图和游戏软件等。遇到这种情况必须对窗口的大小进行一些限制。本例设计一个限制了大小的窗体&#…