当前位置:实例文章 » JAVA Web实例» [文章]java项目之人才公寓管理系统(ssm+mysql+jsp)

java项目之人才公寓管理系统(ssm+mysql+jsp)

发布人:shili8 发布时间:2025-02-28 09:59 阅读次数:0

**Java项目之人才公寓管理系统**

**系统概述**

本系统是一个综合性的人才公寓管理系统,主要功能包括:

* 公寓信息管理* 房客信息管理* 租房申请管理* 租金缴纳管理**技术栈**

* **前端**: JSP + JavaScript* **后端**: Spring MVC + Spring + MyBatis* **数据库**: MySQL**系统设计**

###1. 公寓信息管理####1.1 公寓基本信息表| 字段名 | 类型 | 描述 |
| --- | --- | --- |
| id | int | 主键 |
| name | varchar(50) | 公寓名称 |
| address | varchar(100) | 公寓地址 |

sqlCREATE TABLE apartment_info (
 id INT PRIMARY KEY AUTO_INCREMENT,
 name VARCHAR(50),
 address VARCHAR(100)
);


####1.2 公寓照片表| 字段名 | 类型 | 描述 |
| --- | --- | --- |
| id | int | 主键 |
| apartment_id | int | 外键,关联公寓基本信息表 |
| photo_url | varchar(200) | 照片地址 |

sqlCREATE TABLE apartment_photo (
 id INT PRIMARY KEY AUTO_INCREMENT,
 apartment_id INT,
 photo_url VARCHAR(200),
 FOREIGN KEY (apartment_id) REFERENCES apartment_info(id)
);


###2. 房客信息管理####2.1 房客基本信息表| 字段名 | 类型 | 描述 |
| --- | --- | --- |
| id | int | 主键 |
| name | varchar(50) | 房客名称 |
| phone | varchar(20) | 房客电话 |

sqlCREATE TABLE tenant_info (
 id INT PRIMARY KEY AUTO_INCREMENT,
 name VARCHAR(50),
 phone VARCHAR(20)
);


###3. 租房申请管理####3.1 租房申请表| 字段名 | 类型 | 描述 |
| --- | --- | --- |
| id | int | 主键 |
| tenant_id | int | 外键,关联房客基本信息表 |
| apartment_id | int | 外键,关联公寓基本信息表 |
| apply_date | date |申请日期 |

sqlCREATE TABLE rent_apply (
 id INT PRIMARY KEY AUTO_INCREMENT,
 tenant_id INT,
 apartment_id INT,
 apply_date DATE,
 FOREIGN KEY (tenant_id) REFERENCES tenant_info(id),
 FOREIGN KEY (apartment_id) REFERENCES apartment_info(id)
);


###4. 租金缴纳管理####4.1 租金缴纳表| 字段名 | 类型 | 描述 |
| --- | --- | --- |
| id | int | 主键 |
| tenant_id | int | 外键,关联房客基本信息表 |
| apartment_id | int | 外键,关联公寓基本信息表 |
| payment_date | date | 缴纳日期 |
| payment_amount | decimal(10,2) | 缴纳金额 |

sqlCREATE TABLE rent_payment (
 id INT PRIMARY KEY AUTO_INCREMENT,
 tenant_id INT,
 apartment_id INT,
 payment_date DATE,
 payment_amount DECIMAL(10,2),
 FOREIGN KEY (tenant_id) REFERENCES tenant_info(id),
 FOREIGN KEY (apartment_id) REFERENCES apartment_info(id)
);


**Spring MVC 控制器**

java// 公寓信息控制器@RestController@RequestMapping("/api/apartments")
public class ApartmentController {
 @Autowired private ApartmentService apartmentService;
 // 获取公寓列表 @GetMapping public List getApartments() {
 return apartmentService.getApartments();
 }
 // 添加公寓 @PostMapping public void addApartment(@RequestBody Apartment apartment) {
 apartmentService.addApartment(apartment);
 }
}

// 房客信息控制器@RestController@RequestMapping("/api/tenants")
public class TenantController {
 @Autowired private TenantService tenantService;
 // 获取房客列表 @GetMapping public List getTenants() {
 return tenantService.getTenants();
 }
 // 添加房客 @PostMapping public void addTenant(@RequestBody Tenant tenant) {
 tenantService.addTenant(tenant);
 }
}

// 租房申请控制器@RestController@RequestMapping("/api/rents")
public class RentController {
 @Autowired private RentService rentService;
 // 获取租房列表 @GetMapping public List getRents() {
 return rentService.getRents();
 }
 // 添加租房申请 @PostMapping public void addRent(@RequestBody Rent rent) {
 rentService.addRent(rent);
 }
}

// 租金缴纳控制器@RestController@RequestMapping("/api/payments")
public class PaymentController {
 @Autowired private PaymentService paymentService;
 // 获取租金列表 @GetMapping public List getPayments() {
 return paymentService.getPayments();
 }
 // 添加租金缴纳 @PostMapping public void addPayment(@RequestBody Payment payment) {
 paymentService.addPayment(payment);
 }
}


**MyBatis mapper**

java// 公寓信息mapperpublic interface ApartmentMapper {
 List getApartments();
 void addApartment(Apartment apartment);
}

// 房客信息mapperpublic interface TenantMapper {
 List getTenants();
 void addTenant(Tenant tenant);
}

// 租房申请mapperpublic interface RentMapper {
 List getRents();
 void addRent(Rent rent);
}

// 租金缴纳mapperpublic interface PaymentMapper {
 List getPayments();
 void addPayment(Payment payment);
}


**Spring MVC 配置**

java// Spring MVC配置@Configuration@EnableWebMvc@ComponentScan(basePackages = "com.example")
public class WebConfig extends WebMvcConfigurerAdapter {
 @Bean public ViewResolver viewResolver() {
 InternalResourceViewResolver resolver = new InternalResourceViewResolver();
 resolver.setPrefix("/WEB-INF/views/");
 resolver.setSuffix(".jsp");
 return resolver;
 }
}


**JSP 页面**

jsp<!-- 公寓列表页面 -->
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri=" prefix="c" %>

<!DOCTYPE html>
<html>
 <head>
 <title>公寓列表</title>
 </head>
 <body>
 <h1>公寓列表</h1>
 <table border="1">
 <tr>
 <th>ID</th>
 <th>名称</th>
 <th>地址</th>
 </tr>
 <c:forEach items="${apartments}" var="apartment">
 <tr>
 <td>${apartment.id}</td>
 <td>${apartment.name}</td>
 <td>${apartment.address}</td>
 </tr>
 </c:forEach>
 </table>
 </body>
</html>

<!-- 房客列表页面 -->
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri=" prefix="c" %>

<!DOCTYPE html>
<html>
 <head>
 <title>房客列表</title>
 </head>
 <body>
 <h1>房客列表</h1>
 <table border="1">
 <tr>
 <th>ID</th>
 <th>名称</th>
 <th>电话</th>
 </tr>
 <c:forEach items="${tenants}" var="tenant">
 <tr>
 <td>${tenant.id}</td>
 <td>${tenant.name}</td>
 <td>${tenant.phone}</td>
 </tr>
 </c:forEach>
 </table>
 </body>
</html>

<!-- 租房申请页面 -->
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri=" prefix="c" %>

<!DOCTYPE html>
<html>
 <head>
 <title>租房申请</title>
 </head>
 <body>
 <h1>租房申请</h1>
 <form action="${pageContext.request.contextPath}/api/rents/addRent" method="post">
 <table border="1">
 <tr>
 <td>ID:</td>
 <td><input type="text" name="id" value="${tenant.id}"></td>
 </tr>
 <tr>
 <td>名称:</td>
 <td><input type="text" name="name" value="${tenant.name}"></td>
 </tr

其他信息

其他资源

Top