学生管理系统-后端3-创建application和controller类
Application类
1. 概述
Application
类是一个Spring Boot应用的入口类,通过 @SpringBootApplication
注解标记,用于启动和初始化整个应用程序。同时,该类使用 @MapperScan
注解扫描指定的包路径,以自动发现和注册MyBatis的Mapper接口。
2. 主要功能
Application
类主要完成以下功能:
- 初始化和启动Spring Boot应用程序。
- 自动扫描并注册MyBatis的Mapper接口。
- 提供
main
方法,用于执行应用程序的入口逻辑。
3. 使用方法
3.1. 导入项目
在项目的源代码中,导入 Application.java
文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| package org.example;
import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication @MapperScan("org.example.mapper") public class Application {
public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
|
3.2. 注解说明
@SpringBootApplication
: 该注解标识了一个Spring Boot应用的启动类。它会自动启用Spring Boot的自动配置,并扫描同级包及其子包下的组件。
@MapperScan("org.example.mapper")
: 该注解用于扫描指定的包路径,自动发现和注册MyBatis的Mapper接口。
3.3. 启动应用程序
运行 main
方法,即可启动Spring Boot应用程序。
Controller类
1. 概述
Controller
类是一个Spring Boot中的REST控制器,用于处理来自前端的HTTP请求并与数据库交互。通过各种不同的请求映射方法,它实现了学生信息的增、删、改、查操作,以及用户登录和注册功能。
2. 主要功能
Controller
类主要完成以下功能:
- 获取学生信息列表并返回给前端。
- 插入新的学生信息到数据库。
- 根据学生ID删除数据库中的学生信息。
- 根据学生ID更新数据库中的学生信息。
- 用户登录验证,返回结果表示登录成功或失败。
- 用户注册,将用户信息插入数据库。
3. 使用方法
3.1. 导入项目
在项目的源代码中,导入 Controller.java
文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| package org.example;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.google.gson.Gson; import org.example.mapper.StudentMapper; import org.example.mapper.UserMapper; import org.example.pojo.Student; import org.example.pojo.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*;
import java.util.List;
@SuppressWarnings("all") @CrossOrigin(origins = {"*", "null"}) @RestController public class Controller {
@Autowired private StudentMapper studentMapper; @Autowired private UserMapper userMapper; private Gson gson = new Gson();
@GetMapping("/students") public String getStudents() { List<Student> students = studentMapper.selectList(null); return gson.toJson(students); }
@PostMapping("/insert") public void insertStudent(@RequestBody Student student) { studentMapper.insert(student); }
@PostMapping("/delete") public void deleteStudent(@RequestBody Student student) { studentMapper.deleteById(student.getId()); }
@PostMapping("/update") public void updateStudent(@RequestBody Student student) { studentMapper.updateById(student); }
@PostMapping("/login") public String loginStudent(@RequestBody User user) { QueryWrapper<User> userQueryWrapper = new QueryWrapper<>(); userQueryWrapper.setEntity(user); User userSelected = userMapper.selectOne(userQueryWrapper); if (userSelected == null) { return "0"; } return "1"; } @PostMapping("/register") public void register(@RequestBody User user) { userMapper.insert(user); } }
|
3.2. 注解说明
@CrossOrigin(origins = {"*", "null"})
: 该注解解决跨域问题,允许任何来源的请求访问。
@RestController
: 标识该类为一个控制器类,处理HTTP请求并返回REST响应。
@Autowired
: 自动连接到其他Spring管理的Bean。
3.3. API说明
以下是 Controller
类中定义的API方法及其功能:
GET /students
: 获取所有学生信息列表。
POST /insert
: 插入新的学生信息到数据库。
POST /delete
: 根据学生ID删除数据库中的学生信息。
POST /update
: 根据学生ID更新数据库中的学生信息。
POST /login
: 用户登录验证,返回结果表示登录成功或失败。
POST /register
: 用户注册,将用户信息插入数据库。