javaweb期末大作业宿舍
时间: 2024-12-25 11:23:12 浏览: 1
### JavaWeb 期末大作业:宿舍管理系统
#### 功能模块设计
为了实现一个完整的宿舍管理系统,可以考虑以下几个主要功能模块:
- 用户登录注册:管理员和学生分别有不同的权限。
- 宿舍信息管理:包括增加、修改、查询以及删除宿舍信息。
- 学生住宿安排:记录学生的入住情况并能调整房间分配。
#### 数据库表结构设计
数据库中至少应包含两个核心表格:“dormitory”用于存储宿舍基本信息,“student_dorm_assignments”用来保存每位同学对应的宿舍分配详情。对于`delDorm(DormBean dormbean)`方法,在执行前需确认该宿舍内无任何学籍关联以防误删有效数据[^2]。
#### 后端接口开发 (Spring Boot & MyBatis)
##### 添加依赖项至 `pom.xml`
```xml
<dependencies>
<!-- Spring Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- MyBatis Framework -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<!-- MySQL Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
...
</dependencies>
```
##### 创建实体类 DormBean.java 和 StudentDormAssignment.java
```java
// DormBean.java
package com.example.dormsys.entity;
import lombok.Data;
@Data
public class DormBean {
private Integer id;
private String buildingName;
private Integer roomNumber;
}
// StudentDormAssignment.java
package com.example.dormsys.entity;
import lombok.Data;
@Data
public class StudentDormAssignment {
private Long studentId;
private Integer dormId;
}
```
##### 编写 Mapper 接口 IDormMapper.java 及其 XML 文件配置
```java
// IDormMapper.java
package com.example.dormsys.mapper;
import org.apache.ibatis.annotations.*;
import java.util.List;
@Mapper
public interface IDormMapper {
@Select("SELECT * FROM dormitory WHERE id=#{id}")
public DormBean selectById(Integer id);
@Delete("DELETE FROM dormitory WHERE id=#{id}")
boolean delDorm(@Param("id")Integer id);
}
```
##### Service 层逻辑处理 ISysService.java 实现类 SysServiceImpl.java
```java
@Service
public class SysServiceImpl implements ISysService{
@Autowired
private IDormMapper iDormMapper;
@Override
public Boolean deleteDormInfo(Integer dormId){
try {
return this.iDormMapper.delDorm(dormId);
} catch (Exception e) {
log.error(e.getMessage());
throw new RuntimeException("操作失败");
}
}
// Other service methods...
}
```
##### Controller 控制器层编写 RestController 类 DormController.java
```java
@RestController
@RequestMapping("/api/dorm")
public class DormController {
@Autowired
private ISysService sysService;
/**
* 删除指定ID的宿舍信息
*/
@PostMapping("/delete/{id}")
ResponseEntity<String> deleteDorm(@PathVariable(value="id") Integer id){
if(sysService.deleteDormInfo(id)){
return ResponseEntity.ok().body("删除成功!");
}else{
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("删除失败!");
}
}
// More API endpoints here...
}
```
阅读全文