基于SpringBoot房屋租赁管理系统

本文介绍了如何使用SpringBoot和MySQL技术构建一个房屋租赁管理系统,包括用户、管理员的功能实现,以及数据库管理和代码示例。系统旨在解决信息混乱、效率低下等问题,通过自动化流程降低成本,提升管理效率。
摘要由CSDN通过智能技术生成

采用技术

基于SpringBoot房屋租赁管理系统的设计与实现~

开发语言:Java
数据库:MySQL
技术:SpringBoot+MyBatis
工具:IDEA/Ecilpse、Navicat、Maven

页面展示效果

屋主功能实现

租用订单管理
在这里插入图片描述
房屋信息管理
在这里插入图片描述
保洁管理
在这里插入图片描述

用户功能实现

房屋信息
在这里插入图片描述
租用订单管理
在这里插入图片描述
取消订单管理
在这里插入图片描述

管理员功能

屋主管理
在这里插入图片描述
房屋信息管理
在这里插入图片描述
房屋租赁公告
在这里插入图片描述

项目背景

互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。所以各行业,尤其是规模较大的企业和学校等都开始借助互联网和软件工具管理信息,传播信息,共享信息等等,以此可以增强自身实力,提高在同行业当中的竞争能力,并从各种激烈的竞争中获取发展的机会。针对房屋租赁信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,经过分析和考虑,在目前的情况下,可以引进一款房屋租赁管理系统这样的现代化管理工具,这个工具就是解决上述问题的最好的解决方案。它不仅可以实时完成信息处理,还缩短房屋租赁信息管理流程,使其系统化和规范化。同时还可以减少工作量,节约房屋租赁信息管理需要的人力和资金。所以房屋租赁管理系统是信息管理环节中不可缺少的工具,它对管理者来说非常重要。

研究意义

信息种类变得越来越多,信息的容量也变得越来越大,这就是信息时代的标志。近些年,计算机科学发展得也越来越快,而且软件开发技术也越来越成熟,因此,在生活中的各个领域,只要存在信息管理,几乎都有计算机的影子,可以说很多行业都采用计算机的方式管理信息。信息计算机化处理相比手工操作,有着保密性强,效率高,存储空间大,成本低等诸多优点。针对房屋租赁信息管理,采用房屋租赁管理系统可以有效管理,使信息管理能够更加科学和规范。
总之,在实际中使用房屋租赁管理系统,其意义如下:

  • 第一点:房屋租赁管理系统的实际运用,可以帮助管理人员在短时间内完成信息处理工作;
  • 第二点:通过系统页面的合理排版布局,可以更加直观的展示系统的内容,并且使用者可以随时阅读页面信息,随时操作系统提供的功能;
  • 第三点:可以实现信息管理计算机化;
  • 第四点:可以降低信息管理成本;

代码示例

@RestController
@RequestMapping("/baojieguanli")
public class BaojieguanliController {
    @Autowired
    private BaojieguanliService baojieguanliService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,BaojieguanliEntity baojieguanli,
		HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("wuzhu")) {
			baojieguanli.setWuzhuzhanghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<BaojieguanliEntity> ew = new EntityWrapper<BaojieguanliEntity>();
		PageUtils page = baojieguanliService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, baojieguanli), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,BaojieguanliEntity baojieguanli, 
		HttpServletRequest request){
        EntityWrapper<BaojieguanliEntity> ew = new EntityWrapper<BaojieguanliEntity>();
		PageUtils page = baojieguanliService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, baojieguanli), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( BaojieguanliEntity baojieguanli){
       	EntityWrapper<BaojieguanliEntity> ew = new EntityWrapper<BaojieguanliEntity>();
      	ew.allEq(MPUtil.allEQMapPre( baojieguanli, "baojieguanli")); 
        return R.ok().put("data", baojieguanliService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(BaojieguanliEntity baojieguanli){
        EntityWrapper< BaojieguanliEntity> ew = new EntityWrapper< BaojieguanliEntity>();
 		ew.allEq(MPUtil.allEQMapPre( baojieguanli, "baojieguanli")); 
		BaojieguanliView baojieguanliView =  baojieguanliService.selectView(ew);
		return R.ok("查询保洁管理成功").put("data", baojieguanliView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        BaojieguanliEntity baojieguanli = baojieguanliService.selectById(id);
        return R.ok().put("data", baojieguanli);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        BaojieguanliEntity baojieguanli = baojieguanliService.selectById(id);
        return R.ok().put("data", baojieguanli);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody BaojieguanliEntity baojieguanli, HttpServletRequest request){
    	baojieguanli.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(baojieguanli);
        baojieguanliService.insert(baojieguanli);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody BaojieguanliEntity baojieguanli, HttpServletRequest request){
    	baojieguanli.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(baojieguanli);
        baojieguanliService.insert(baojieguanli);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody BaojieguanliEntity baojieguanli, HttpServletRequest request){
        //ValidatorUtils.validateEntity(baojieguanli);
        baojieguanliService.updateById(baojieguanli);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        baojieguanliService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<BaojieguanliEntity> wrapper = new EntityWrapper<BaojieguanliEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("wuzhu")) {
			wrapper.eq("wuzhuzhanghao", (String)request.getSession().getAttribute("username"));
		}

		int count = baojieguanliService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

数据库脚本

在这里插入图片描述
JAVA毕设帮助,指导,源码分享,调试部署

1、 安装jdk1.5.0 2、 如果是B/S结构程序,请复制jakarta-tomcat-5.0.28这个文件夹下的 所有文件到你的E盘根目录下(不是固定的) 3、 配置环境变量: (1) 我的电脑—右键—属性—高级—环境变量—系统变量—新建,变量名:JAVA_HOME ,注意为大写,变量值:你所安装JDK的根目录,如:C:\Program Files\Java\jdk1.5.0; (2) 我的电脑—右键—属性—高级—环境变量—系统变量—新建,变量名:CLASSPATH ,注意为大写,变量值:你所安装JDK的根目录下的lib文件夹,如:C:\Program Files\Java\jdk1.5.0\lib\tools.jar;.注意后面以分号和一个点结尾; (3) 修改path变量:我的电脑—右键—属性—高级—环境变量—系统变量—选择path,点编辑,在变量值最后增加一个分号,增加你安装的JDK的根目录下的bin文件夹:C:\Program Files\Java\jdk1.5.0\bin; (4) 如果是B/S结构程序,我的电脑—右键—属性—高级—环境变量—系统变量—新建,变量名:TOMCAT_HOME ,注意为大写,变量值:你所安装jakarta-tomcat-5.0.28的根目录,如:E:\jakarta-tomcat-5.0.28; 4、 复制sqlserver-driver文件夹下的所有文件到C:\Program Files\Java\jdk1.5.0\jre\lib\ext\目录下,否则重装; 5、 在命令行分别输入javajavac,如无错误提示,安装完成; 6、 如果是B/S结构程序,双击E:\jakarta-tomcat-5.0.28\bin\startup.bat,如果出现黑色TOMCAT界面,安装成功,否则重装; 7、 安装SQLServer2000数据库,一路默认,注意不要选择域用户,设置sa用户的密码为123; 8、 安装SQLServer2000数据库SP3补丁,当提示已成功传递文件之后,找到安装的目录,双击setup.bat,看提示安装,基本默认; 9、 附加数据库:打开开始—程序—Microsoft SQLServer—服务管理器,启动数据库,开始—程序—Microsoft SQLServer—企业管理器,在左侧树状菜单,选择数据库-右键-所有任务-附加数据库,点击浏览,选择你的文件夹下的.MDF文件,确定; 10、 如果是 C/S结构程序,安装你的程序,OK; 11、 如果是B/S结构程序,复制你的网站文件到E:\jakarta-tomcat-5.0.28\webapps下,启动E:\jakarta-tomcat-5.0.28\bin\startup.bat,在IE中输入http://localhost:8080/你的网站名,OK; 12、 如果需要配置数据源,开始-控制面板-管理工具-数据源ODBC-添加-SQLServer-完成,名称填写readme.txt文件里的数据源名,描述为空,服务器填写“.”就可以,下一步-下一步-更改默认的数据库为你的附加数据库-下一步-完成-测试数据源,如提示“测试成功”,一路确定,否则重装
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不安分的猿人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值