下面我将结合一些简单示例,分享一下实现Java Spring Boot教务管理系统的完整攻略。
概述
Java Spring Boot是一个快速开发框架,它可以让我们轻松创建RESTful API应用。教务管理系统是一种基于Web技术的应用程序,可以用于学校的教务管理。Java Spring Boot可以用于构建教务管理系统的后端。
教务管理系统的主要功能包括学生、教师、课程和班级管理。学生管理包括学生信息的增删改查等操作,而教师管理包括新增、删除、编辑教师信息等操作。
以下是该项目主要的技术栈:
- Java 11
- Spring Boot 2.5.5
- Spring MVC
- Spring Data JPA
- MySQL 8
- Thymeleaf 模板引擎
环境配置
首先,需要在本地安装Java JDK、Maven和MySQL数据库。
其次,我们需要在pom.xml文件中添加Spring Boot和MySQL数据库的相关依赖,以及Thymeleaf模板引擎的依赖。
具体依赖如下:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mustache</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.4</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.6.0</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>5.1.2</version>
</dependency>
</dependencies>
实现过程
- 创建领域模型类和数据库表格,使用JPA自动完成数据表生成。
@Entity
@Table(name = "student")
public class Student {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false, name = "student_name")
private String name;
@Column(nullable = false, name = "student_number")
private String number;
//getters and setters
}
- 创建实体类对应的Repository接口
@Repository
public interface StudentRepository extends JpaRepository<Student, Long> {
}
- 创建Service类,处理实体类与Repository接口的交互,如增、删、改、查。
@Service
public class StudentService {
@Autowired
private StudentRepository studentRepository;
public List<Student> getAllStudents() {
return studentRepository.findAll();
}
public void saveStudent(Student student) {
studentRepository.save(student);
}
public Student getStudentById(Long id) {
return studentRepository.findById(id).orElse(null);
}
public void deleteStudentById(Long id) {
studentRepository.deleteById(id);
}
}
- 创建控制器类,处理前端视图与后端数据的交互。
@Controller
@RequestMapping("/")
public class StudentController {
@Autowired
private StudentService studentService;
@GetMapping("/")
public String index(Model model) {
List<Student> students = studentService.getAllStudents();
model.addAttribute("students", students);
return "index";
}
@GetMapping("/add")
public String add(Model model) {
Student student = new Student();
model.addAttribute("student", student);
return "add";
}
@PostMapping("/save")
public String save(@ModelAttribute("student") Student student) {
studentService.saveStudent(student);
return "redirect:/";
}
@GetMapping("/edit/{id}")
public String edit(@PathVariable(value = "id") Long id, Model model) {
Student student = studentService.getStudentById(id);
model.addAttribute("student", student);
return "edit";
}
@GetMapping("/delete/{id}")
public String delete(@PathVariable(value = "id") Long id) {
studentService.deleteStudentById(id);
return "redirect:/";
}
}
- 添加Thymeleaf模板文件,设计前端视图
<html>
<head>
<title>首页</title>
</head>
<body>
<div class="container">
<h1>学生列表</h1>
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>姓名</th>
<th>学号</th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr th:each="student, i : ${students}">
<td th:text="${i.index} + 1"></td>
<td th:text="${student.name}"></td>
<td th:text="${student.number}"></td>
<td><a th:href="@{/edit/{id}(id=${student.id})}">编辑</a></td>
<td><a th:href="@{/delete/{id}(id=${student.id})}">删除</a></td>
</tr>
</tbody>
</table>
<div>
<a th:href="@{/add}" class="btn btn-primary">添加</a>
</div>
</div>
<script src="/webjars/jquery/3.6.0/jquery.min.js"></script>
<script src="/webjars/bootstrap/5.1.2/js/bootstrap.min.js"></script>
</body>
</html>
示例
下面是两个示例,分别是添加学生以及编辑学生信息。
示例1:添加学生
-
访问 http://localhost:8080/add
-
输入学生姓名和学号,点击“添加”按钮
-
返回首页,并显示添加的学生信息
示例2:编辑学生信息
-
访问首页并点击“编辑”按钮
-
进入编辑页面,修改学生信息,点击“保存”按钮
-
返回首页,并显示修改后的学生信息
结束语
以上就是Java Spring Boot实现教务管理系统的完整攻略,其中涉及到Web层、Service层以及Repository层的完整实现。
掌握了这些知识,你就可以使用Java Spring Boot实现更加复杂的教务管理系统。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java Springboot实现教务管理系统 - Python技术站