springboot实现的学生信息管理系统

 一、项目简介

二、项目环境

三、项目结构

四、项目实现

        1、数据表结构
        2、具体功能实现
                1.管理员信息
                2.教师信息
                3.学生信息
                4.课程信息

一、项目简介

        该项目主要用springbooot、java和Mysql数据库实现,但前端也用了vue。实现的学生信息管理系统(包含教师端、学生端以及管理员端)

        教师端有登录过程,功能包括个人信息修改和课程信息

        学生端也有登录过程,功能包括个人信息和选课信息


二、项目环境

       数据库:MySQL 8.0版本

       开发工具:idea2021

        数据库管理工具: NAVICAT 16

        

三、项目结构

        项目结构分为管理员、学生、教师三个板块,在板块中有对应的功能实现。

四、项目实现

        数据表

                                                                     管理员表

教师表

                                                                         学生表

 

 2、具体功能实现

        1.管理员信息

 代码如下(示例):

@RestController
@RequestMapping("/xueyuanInfo")
public class XueyuanInfoController {

    @Resource
    private XueyuanInfoService xueyuanInfoService;

    @GetMapping
    public Result findAll() {
        List<XueyuanInfo> list = xueyuanInfoService.findAll();
        return Result.success(list);
    }

    @PostMapping
    public Result add(@RequestBody XueyuanInfo xueyuanInfo) {
        xueyuanInfoService.add(xueyuanInfo);
        return Result.success();
    }

    @PutMapping
    public Result update(@RequestBody XueyuanInfo xueyuanInfo) {
        xueyuanInfoService.update(xueyuanInfo);
        return Result.success();
    }

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Long id) {
        xueyuanInfoService.deleteById(id);
        return Result.success();
    }

    @GetMapping("/{search}")
    public Result find(@PathVariable String search) {
        List<XueyuanInfo> list = xueyuanInfoService.find(search);
        return Result.success(list);

        2.教师信息

 代码如下(示例):

@RestController
@RequestMapping("/teacherInfo")
public class TeacherInfoController {

    @Resource
    private TeacherInfoService teacherInfoService;

    @PostMapping
    public Result add(@RequestBody TeacherInfo teacherInfo) {
        teacherInfoService.add(teacherInfo);
        return Result.success();
    }
    @PutMapping
    public Result update(@RequestBody TeacherInfo teacherInfo) {
        teacherInfoService.update(teacherInfo);
        return Result.success();
    }
    @GetMapping
    public Result findAll() {
        List<TeacherInfo> list = teacherInfoService.findAll();
        return Result.success(list);
    }
    @DeleteMapping("/{id}")
    public Result deleteById(@PathVariable Long id) {
        teacherInfoService.deleteById(id);
        return Result.success();
    }
    @GetMapping("/page")
    public Result findPage(@RequestParam Integer pageNum, @RequestParam Integer pageSize) {
        PageInfo<TeacherInfo> pageInfo = teacherInfoService.findPage(pageNum, pageSize);
        return Result.success(pageInfo);
    }
    @GetMapping("/{search}")
    public Result findPageSearch(@PathVariable String search, @RequestParam Integer pageNum, @RequestParam Integer pageSize) {
        PageInfo<TeacherInfo> pageInfo = teacherInfoService.findPageSearch(search, pageNum, pageSize);
        return Result.success(pageInfo);
    }

         3.学生信息

@RestController
@RequestMapping("/studentInfo")
public class StudentInfoController {

    @Resource
    private StudentInfoService studentInfoService;

    @PostMapping
    public Result add(@RequestBody StudentInfo studentInfo) {
        studentInfoService.add(studentInfo);
        return Result.success();
    }

    @PutMapping
    public Result update(@RequestBody StudentInfo studentInfo) {
        studentInfoService.update(studentInfo);
        return Result.success();
    }

    @GetMapping
    public Result findAll() {
        List<StudentInfo> list = studentInfoService.finAll();
        return Result.success(list);
    }

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Long id) {
        studentInfoService.deleteById(id);
        return Result.success();

         4.课程信息

@PostMapping("/xuanke")
public Result xuanke(@RequestBody ClassInfo classInfo, HttpServletRequest request) {

    Account user = (Account) request.getSession().getAttribute("user");
    if (ObjectUtil.isEmpty(user)) {
        throw new CustomException(".1", "登录已失效,请重新登录");
    }

    // 1. 判断一下该学生有没有选过这门课
    XuankeInfo info = xuankeInfoService.find(classInfo.getName(), classInfo.getTeacherId(), user.getId());
    if (ObjectUtil.isNotEmpty(info)) {
        throw new CustomException(".1", "您已经选过该门课,请不要重复选择");
    }

    // 2. 把课程信息塞一份到选课信息表里
    XuankeInfo xuankeInfo = new XuankeInfo();
    BeanUtils.copyProperties(classInfo, xuankeInfo);
    xuankeInfo.setId(null);

    // 3. 把选课信息表里剩下的字段信息补全
    xuankeInfo.setStudentId(user.getId());
    xuankeInfo.setStatus("待开课");

    xuankeInfoService.add(xuankeInfo);

    // 3. 课程信息里的已选人数要加 1
    classInfo.setYixuan(classInfo.getYixuan() + 1);
    classInfoService.update(classInfo);

    return Result.success();

总结

        以上就是实现学生信息管理系统的方案,本文仅提供了大致的方案及制作流程,仅供参考,若有问题请帮忙指出。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值