SSM框架(spring+springmvc+mybatis)+Mysql实现的社区物业管理系统(功能包含分角色,报修管理、抄表管理、车位管理、房屋管理、业主管理、投诉管理、报修统计分析等)
博客目录
- SSM框架(spring+springmvc+mybatis)+Mysql实现的社区物业管理系统
- 实现功能截图
- 系统功能
- 使用技术
- 代码
- 完整源码
SSM框架(spring+springmvc+mybatis)+Mysql实现的社区物业管理系统
本系统为了解决线下物业管理小区的冗余繁杂的难题,通过整合业主和物业,将平时的业务在线化,节省了物业处理小区问题的效率。
(文末查看完整源码)
实现功能截图
登录
车位费查询
物业费查询
我的投诉列表
管理员首页
楼宇管理
房屋管理
业主管理
用户管理
车位管理
报修统计分析
报修信息管理
投诉信息管理
车位收费管理
系统功能
本系统实现了以下功能:
分普通用户和管理员
1、物业费查询
2、我的投诉列表
3、车位费
4、我的报修
管理员端
5、车位管理
6、业主管理
7、用户管理
8、报修信息管理
9、房屋管理
10、车位费管理
11、抄表管理
12、投诉信息管理
13、楼宇管理
14、添加房屋、添加楼宇
15、物业收费管理
等
使用技术
数据库:mysql
开发工具:Idea(Myeclispe、Eclipse也可以)
知识点:SSM+layui
项目结构
代码
实体类
Building.java
package com.code2life.model;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;import java.io.Serializable;/*** <p>* * </p>** @author kappy* @since 2020-11-08*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="Building对象", description="")
public class Building implements Serializable {private static final long serialVersionUID = 1L;@TableId(value = "id", type = IdType.AUTO)private Integer id;private String numbers;private String uints;private String remarks;}
Repair.java
package com.code2life.model;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;import java.io.Serializable;
import java.util.Date;/*** <p>* * </p>** @author kappy* @since 2020-10-28*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="Repair对象", description="")
public class Repair implements Serializable {private static final long serialVersionUID = 1L;private Owner owner;private Repairtype type;@TableId(value = "id", type = IdType.AUTO)private Integer id;private String comId;@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")private Date comDate;@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")private Date handleDate;private Integer ownerId;private Integer status;private Integer clr;private String remarks;}
DAO层
BuildingMapper.java
package com.code2life.dao;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.code2life.model.Building;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;import java.util.List;/*** <p>* Mapper 接口* </p>** @author kappy* @since 2020-11-08*/
@Component("buildingDao")
public interface BuildingMapper extends BaseMapper<Building> {List<Building> queryBuildAll(@Param("numbers") String numbers);/*** 通过house中building_id查找building*/Building queryBuildById(@Param("buildId") Integer buildId);
}
RepairMapper.java
package com.code2life.dao;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.code2life.model.Repair;
import com.code2life.model.Tongji;
import org.springframework.stereotype.Component;import java.util.List;/*** <p>* Mapper 接口* </p>** @author kappy* @since 2020-10-28*/
@Component("repairDao")
public interface RepairMapper extends BaseMapper<Repair> {List<Repair> queryRepairAll(Repair repair);//统计处理List<Tongji> queryTongji();}
service层
BuildingServiceImpl.java
package com.code2life.service.impl;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.code2life.dao.BuildingMapper;
import com.code2life.model.Building;
import com.code2life.service.IBuildingService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;/*** <p>* 服务实现类* </p>** @author kappy* @since 2020-11-08*/
@Service
public class BuildingServiceImpl extends ServiceImpl<BuildingMapper, Building> implements IBuildingService {@Autowiredprivate BuildingMapper buildingDao;@Overridepublic PageInfo<Building> findBuildAll(int page, int pageSize, String numbers) {PageHelper.startPage(page,pageSize);List<Building> list=buildingDao.queryBuildAll(numbers);return new PageInfo<>(list);}@Overridepublic IPage<Building> findListByPage(Integer page, Integer pageCount){IPage<Building> wherePage = new Page<>(page, pageCount);Building where = new Building();return baseMapper.selectPage(wherePage, Wrappers.query(where));}@Overridepublic int add(Building building){return baseMapper.insert(building);}@Overridepublic int delete(Long id){return baseMapper.deleteById(id);}@Overridepublic int updateData(Building building){return baseMapper.updateById(building);}@Overridepublic Building findById(Long id){return baseMapper.selectById(id);}@Overridepublic Building queryBuildById(Integer buildId) {return buildingDao.queryBuildById(buildId);}
}
RepairServiceImpl.java
package com.code2life.service.impl;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.code2life.dao.RepairMapper;
import com.code2life.model.Repair;
import com.code2life.model.Tongji;
import com.code2life.service.IRepairService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;/*** <p>* 服务实现类* </p>** @author kappy* @since 2020-10-28*/
@Service
public class RepairServiceImpl extends ServiceImpl<RepairMapper, Repair> implements IRepairService {@Autowiredprivate RepairMapper repairDao;@Overridepublic PageInfo<Repair> findRepairAll(int page, int pagesize, Repair repair) {PageHelper.startPage(page,pagesize);List<Repair> list=repairDao.queryRepairAll(repair);PageInfo<Repair> pageInfo=new PageInfo(list);return pageInfo;}@Overridepublic List<Repair> queryList() {return repairDao.queryRepairAll(null);}@Overridepublic IPage<Repair> findListByPage(Integer page, Integer pageCount){IPage<Repair> wherePage = new Page<>(page, pageCount);Repair where = new Repair();return baseMapper.selectPage(wherePage, Wrappers.query(where));}@Overridepublic int add(Repair repair){return baseMapper.insert(repair);}@Overridepublic int delete(Long id){return baseMapper.deleteById(id);}@Overridepublic int updateData(Repair repair){return baseMapper.updateById(repair);}@Overridepublic Repair findById(Long id){return baseMapper.selectById(id);}@Overridepublic List<Tongji> queryTongji() {return repairDao.queryTongji();}
}
controller层
BuildingController.java
package com.code2life.controller;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.pagehelper.PageInfo;
import com.code2life.model.Building;
import com.code2life.service.IBuildingService;
import com.code2life.util.JsonObject;
import com.code2life.util.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;/*** <p>* 前端控制器* </p>** @author kappy* @since 2020-11-08*/
@Api(tags = {""})
@RestController
@RequestMapping("/building")
public class BuildingController {private Logger log = LoggerFactory.getLogger(getClass());@Resourceprivate IBuildingService buildingService;@RequestMapping("/queryBuildAll")public JsonObject queryBuildAll(@RequestParam(defaultValue = "1") Integer page,@RequestParam(defaultValue = "15") Integer limit,String numbers){JsonObject object=new JsonObject();PageInfo<Building> pageInfo= buildingService.findBuildAll(page,limit,numbers);object.setCode(0);object.setMsg("ok");object.setCount(pageInfo.getTotal());object.setData(pageInfo.getList());return object;}@RequestMapping("/queryBuild")public List<Building> queryBuild(){PageInfo<Building> pageInfo= buildingService.findBuildAll(1,100,null);return pageInfo.getList();}@ApiOperation(value = "新增")@RequestMapping("/add")public R add(@RequestBody Building building){int num= buildingService.add(building);if(num>0){return R.ok();}else{return R.fail("添加失败");}}@ApiOperation(value = "删除")@RequestMapping("/deleteByIds")public R delete(String ids){List<String> list= Arrays.asList(ids.split(","));//遍历遍历进行删除for(String id:list){buildingService.delete(Long.parseLong(id));}return R.ok();}@ApiOperation(value = "更新")@RequestMapping("/update")public R update(@RequestBody Building building){int num= buildingService.updateData(building);if(num>0){return R.ok();}else{return R.fail("修改失败");}}@ApiOperation(value = "查询分页数据")@ApiImplicitParams({@ApiImplicitParam(name = "page", value = "页码"),@ApiImplicitParam(name = "pageCount", value = "每页条数")})@GetMapping()public IPage<Building> findListByPage(@RequestParam Integer page,@RequestParam Integer pageCount){return buildingService.findListByPage(page, pageCount);}@ApiOperation(value = "id查询")@GetMapping("{id}")public Building findById(@PathVariable Long id){return buildingService.findById(id);}}
RepairController.java
package com.code2life.controller;import com.github.pagehelper.PageInfo;
import com.code2life.model.*;
import com.code2life.service.IOwnerService;
import com.code2life.service.IRepairService;
import com.code2life.service.IRepairtypeService;
import com.code2life.util.JsonObject;
import com.code2life.util.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.Date;
import java.util.List;/*** <p>* 前端控制器* </p>** @author kappy* @since 2020-10-28*/
@Api(tags = {""})
@RestController
@RequestMapping("/repair")
public class RepairController {private Logger log = LoggerFactory.getLogger(getClass());@Resourceprivate IRepairService repairService;@Resourceprivate IRepairtypeService repairtypeService;@Resourceprivate IOwnerService ownerService;@RequestMapping("/queryRepairAll")public JsonObject queryRepairAll(Repair repair,@RequestParam(defaultValue = "1") Integer page,@RequestParam(defaultValue = "15") Integer limit){PageInfo<Repair> pageInfo=repairService.findRepairAll(page,limit,repair);return new JsonObject(0,"ok",pageInfo.getTotal(),pageInfo.getList());}@RequestMapping("/queryRepairAll2")public JsonObject queryRepairAll2(Repair repair, HttpServletRequest request,@RequestParam(defaultValue = "1") Integer page,@RequestParam(defaultValue = "15") Integer limit){//获取当前得登录用户Userinfo userinfo= (Userinfo) request.getSession().getAttribute("user");String username=userinfo.getUsername();//根据username获取登录账号得业主idOwner owner=ownerService.queryOwnerByName(username);repair.setOwnerId(owner.getId());PageInfo<Repair> pageInfo=repairService.findRepairAll(page,limit,repair);return new JsonObject(0,"ok",pageInfo.getTotal(),pageInfo.getList());}@RequestMapping("/queryAll")public List<Repairtype> queryAll(){return repairtypeService.findList();}@RequestMapping("/deleteByIds")public R deleteByIds(String ids){List<String> list= Arrays.asList(ids.split(","));for(String id:list){repairService.delete(Long.parseLong(id));}return R.ok();}@ApiOperation(value = "新增")@RequestMapping("/add")public R add(@RequestBody Repair repair,HttpServletRequest request){System.out.println("-------111--------");System.out.println(repair);System.out.println("---------------");//获取当前得登录用户Userinfo userinfo= (Userinfo) request.getSession().getAttribute("user");String username=userinfo.getUsername();//根据username获取登录账号得业主idOwner owner=ownerService.queryOwnerByName(username);repair.setOwnerId(owner.getId());repair.setStatus(0);repair.setComDate(new Date());System.out.println("-------222--------");System.out.println(repair);System.out.println("---------------");int num=repairService.add(repair);if(num>0){return R.ok();}return R.fail("新增失败");}@ApiOperation(value = "更新")@RequestMapping("/update")public R update(Integer id){Repair repair=new Repair();repair.setId(id);repair.setStatus(1);repair.setHandleDate(new Date());int num=repairService.updateData(repair);return R.ok();}/*** 统计分析*/@RequestMapping("/queryTongJi")public List<Tongji> queryTongji(){return repairService.queryTongji();}}
完整源码
如果运行代码中遇到问题,或者需要完整源码和报告交流
Code2Life2
得有用,记得一键三连哦!
SSM框架(spring+springmvc+mybatis)+Mysql实现的社区物业管理系统(功能包含分角色,报修管理、抄表管理、车位管理、房屋管理、业主管理、投诉管理、报修统计分析等)相关推荐
- SSM框架——Spring+SpringMVC+Mybatis的搭建教程
一:概述 SSM框架在项目开发中经常使用到,相比于SSH框架,它在仅几年的开发中运用的更加广泛. Spring作为一个轻量级的框架,有很多的拓展功能,最主要的我们一般项目使用的就是IOC和AOP. S ...
- SSM框架Spring+SpringMVC+MyBatis——详细整合教程
2019独角兽企业重金招聘Python工程师标准>>> 摘要: 包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参 ...
- 基于SSM的家校通系统(Spring+SpringMVC+Mybatis+mysql)
这是一基于SSM框架开发的家校通. 源代码: 基于SSM的家校通系统(Spring+SpringMVC+Mybatis+mysql).zip-Java文档类资源-CSDN下载这是一基于SSM(spri ...
- Java+SSM(Spring+SpringMVC+Mybatis)+Mysql个性化新闻推荐系统 基于用户、项目、内容、聚类、混合的协同过滤推荐算法WebNewsRSM 源代码下载
Java+SSM(Spring+SpringMVC+Mybatis)+Mysql个性化新闻推荐系统 基于用户.项目.内容.聚类.混合的协同过滤推荐算法WebNewsRSM 源代码下载 一.项目简介 1 ...
- Spring+SpringMVC+MyBatis明日方舟版人员信息管理系统前端页面代码前后端交互+SSM框架 管理员登录 游客登录 普通用户登录 人员的增删改查 信息更新 图片上传 分页查询)
Spring+SpringMVC+MyBatis明日方舟版人员信息管理系统前端页面代码(前后端交互+SSM框架 管理员登录 游客登录 普通用户登录 人员的增删改查 信息更新 图片上传 分页查询 修改密 ...
- 基于SSM(Spring+SpringMVC+MyBatis)框架的健身俱乐部管理系统
目录 项目介绍 运行环境 项目技术 使用说明 运行截图 项目介绍 基于SSM(Spring+SpringMVC+MyBatis)的健身俱乐部管理系统就能有效的改善当前所面临的问题.首先,此系统拥有线上 ...
- SSM整合——Spring+SpringMVC+MyBatis整合
文章目录 1. 数据库环境 2. 项目基本结构搭建 3. 配置MyBatis 4. 配置Spring 5. 配置SpringMVC 6. Controller和视图层编写 7. 配置Tomcat,进行 ...
- 基于springboot+mybatis+mysql+html实现宠物医院管理系统(包含实训报告)
基于springboot+mybatis+mysql+html实现宠物医院管理系统(包含实训报告) 一.系统简介 二.系统主要功能界面 2.1登陆 2.2系统设置 2.3宠物管理 2.4预约管理 2. ...
- 可在线查看并附源码下载!基于SSM(spring springMVC mybatis mysql)框架的hrm人事管理系统
采用了注解的方式开发,一个简单的人事管理系统:包括: 文件下载上传 公告管理 用户/职位/部门的增删改查等基本操作 技术采用: Spring Spring Mvc MyBatis MySql 网页预览 ...
最新文章
- 多台服务器搭建Spark集群
- 数据库并发一致性的问题
- sjms-3 结构型模式
- MariaDB日志审计 帮你揪出内个干坏事儿的小子
- 使用Netapp与windows server 2012搭建 iSNS服务器
- 总结ubuntu 在命令界面login incorrect的问题
- Exchange 2010 迁移至Exchange 2013系列之六:创建信任关系并安装ADMT Server
- 求解最长回文串 manachar算法
- 传谷歌金山秘密合作研发Office软件
- 用python写模拟鼠标脚本
- 【Python】1.基本语法元素
- 思科交换机接口安全配置
- 交友项目【查询黑名单人员,移除黑名单人员】功能实现
- redis appendonly.aof文件损坏修复方法
- 力天创见仓库客流管控方案
- 宝塔安装Jdk1.8
- 完全二叉树的节点个数
- 【Cover Letter 】SCI 投稿加分必备,手把手教你写 投稿Cover Letter
- 图片开放接口_免费的美女图片API接口
- 航班数据实时查询技术整理与剖析
热门文章
- arm-linux-gcc反汇编(分析方法)
- CF1027B Numbers on the Chessboard (#数学)
- 重磅| 创业者的格局要大——徐小平谈中国创业
- 学编程太枯燥?分享十几个边玩游戏边学编程的网站!第五个连孩子都在用
- 中文维基百科分类提取(jwpl)--构建知识图谱
- 【深度学习】卷积神经网络-图片分类案例(pytorch实现)
- 【数据库演练】外键SQL语句的编写分组和聚合函数的组合使用
- python中保存图片的代码_python – 从base64代码保存图片
- Win7系统的笔记本u盘数据如何恢复
- HP监控软件sitescope的简介和应用