使用spring boot写一个学生管理系统
作者:mmseoamin日期:2023-12-21

目录

前言

二、博客地址

三、实现步骤

3.1 创建Spring Boot 项目

3.2连接数据库

3.3代码层级

3.3.1model层

3.3.2Repository层

3.3.3service层

3.3.4控制层controller

3.3.5视图层

3.3.6BootStrap

4.1登录

4.2增

4.3 删

4.4查

4.5改

4.6分页

总结


前言

学生管理系统是一种常见的应用程序,它可以用于管理学生、学院、班级等信息,是许多企业和商家必备的工具。在Java开发中,使用Spring Boot框架可以快速地搭建一个学生管理系统,实现商品的增删改查、排序等功能。

本文将介绍如何使用Spring Boot和相关技术开发一个联通用户管理系统。首先,我们将使用Maven构建项目,然后引入Spring Boot和相关依赖,如Spring Data JPA、Thymeleaf等。接着,我们将设计并创建数据库表,使用JPA实现数据的持久化。然后,我们将使用Thymeleaf模板引擎来渲染前端页面,使用Bootstrap框架来实现页面的布局和样式。最后,我们将通过编写控制器、服务和页面等代码,实现增删改查、排序、分页等功能。

通过本文的学习,读者将了解到如何使用Spring Boot和相关技术来快速地开发一个学生管理系统,掌握Java Web开发的基本流程和技术要点,提高自己的编码能力和实践能力。

  • Git地址

    待定

    二、博客地址

    待定

    三、实现步骤

    3.1 创建Spring Boot 项目

    在Idea中创建一个新的Spring Boot项目,并选择相应的依赖,并添加Lombok,Spring Web,Thymeleaf,MySQL Driver,Spring Data JPA等依赖。

    使用spring boot写一个学生管理系统,第1张

    3.2连接数据库

    在application.properties文件中配置数据库连接信息,包括数据库URL、用户名和密码。此处我使用的数据库本地数据库。

    使用spring boot写一个学生管理系统,第2张

    3.3代码层级

    3.3.1model层

    Model层创建四个实体类,该类对应数据库中User、Department、Grade、Student表的信息,并注入以下三个注解

    @Entity注解进行实体类的持久化操作

    @Tabel注解指定生成数据库表的表名

    模型是应用程序中的主要数据源,负责提供数据和业务逻辑。它通常包含了数据访问、数据处理、数据验证等功能。

    其中User用于存储用户名和密码,用于登录界面,

    Student存储学生信息,Grade存储班级信息,Department存储学院信息。由于代码差不多一致,下面就看主要设置的外键信息

    使用spring boot写一个学生管理系统,第3张

    Department表中的department_id字段,可以连接到Grade类中class表的department_id,由于后面的查询学院名称

    使用spring boot写一个学生管理系统,第4张

    Class表中的class_id用于后面的student表中的班级信息,对应的是class表中的class_id字段。

    使用spring boot写一个学生管理系统,第5张

    3.3.2Repository层

    Repository层创建UserRepository、DepartmentRepository、GradeRepository、StudentRepository接口并继承JpaRepository接口,用于后面涉及到的增删改查,由于四Repository类基本差不多,这里就展示UserRepository。

    使用spring boot写一个学生管理系统,第6张

    3.3.3service层

    在service层中创建DepartmentService、DepartmenService、StudentService、接口封装增删改查和分页的方法,由于基本一致,只展示一个

    使用spring boot写一个学生管理系统,第7张

    再在service层中创建一个包imp,imp包下面装的是两个实现类用来实现增删查改分页升降序排序等功能.

    使用spring boot写一个学生管理系统,第8张

    3.3.4控制层controller

    用于在客户端进行交互,转跳到不同功能的界面

    控制器是MVC架构中的核心组件,负责处理用户请求、调用模型组件和视图组件,协调整个应用程序的流程。它调用Model组件进行数据处理,然后将处理结果传递给View组件进行显示。

    这里我编写了四个控制层的类DepartmentController用于对学院的控制,LoginController用于对登录的控制,GradeController用于对班级管理的控制,StudentController用于学生管理的控制。由于DepartmentController、StudentController和UserController基本一致这里就挑StudentController和LoginController来讲解

    使用spring boot写一个学生管理系统,第9张

    登录界面,简单的来说,就是输入账号、密码,如何会去查询数据库,如果与数据库的用户名和密码相对应,即可登录成功,跳转到stud ent_list界面,如果跳转失败,这会返回错误信息给html,在将其显示在页面上。

    使用spring boot写一个学生管理系统,第10张

    上图是StudentController中的一部分代码,由于原代码太长,这里就省略了简单的增删改查代码,展示了查询和分页的代码

    3.3.5视图层

    在static中保存了css、js、图片等文件,

    在templates中保存前端的HTML文件。

    视图是用户界面的展示部分,负责将数据呈现给用户。它通常是HTML、JSP、Thymeleaf等模板文件,负责显示数据,接收用户输入,并将用户操作转发给控制器

    使用spring boot写一个学生管理系统,第11张

    3.3.6BootStrap

    添加BootStrap样式:

    这里所有的页面都添加了BootStrap样式,下面是导入bootstrap文件的代码

    使用spring boot写一个学生管理系统,第12张

    • 成品展示

      4.1登录

      点击登录,输入账号admin,密码123456,数据库中只要有这一条数据,如果想添加用户,在数据库添加新用户即可。登录成功后,跳转到student_list。

      由于一开始做好登录表单后,在想加个背景,找了很多照片不合适,突然想起学校官网的系统有图片,我就照着写了一个界面

      使用spring boot写一个学生管理系统,第13张

      4.2增

      输入学生的相关信息后点击保存即可添加成功。

      使用spring boot写一个学生管理系统,第14张

      4.3 删

      删除某一行数据,点击输出按钮即可进行删除。

      使用spring boot写一个学生管理系统,第15张

      4.4查

      通过搜索框,输入关键字,即可进行该关键字模糊查询。

      使用spring boot写一个学生管理系统,第16张

      4.5改

      点击修改按钮,即可将原先的数据获取过来,在进行修改,提交,即可完成修改学生信息。

      使用spring boot写一个学生管理系统,第17张

      4.6分页

      数据总数超过5条时,产生分页

      使用spring boot写一个学生管理系统,第18张

      • 问题及解决办法

        1、依赖冲突:在使用Spring Boot时,可能会遇到依赖冲突的问题,其中一个依赖可能引入了与其他依赖冲突的版本。解决办法是排除冲突的依赖版本,或者调整依赖版本以解决冲突。

        2、启动异常:在启动应用程序时,可能会遇到各种异常,如端口被占用、数据库连接问题等。查看日志文件以获取具体的异常信息,并根据异常信息采取相应的解决措施。

        3、数据库访问问题:在进行数据库操作时,可能会遇到连接问题、查询问题或事务处理问题等。确保数据库配置正确,数据库服务正常运行,并检查SQL语句是否正确。

        总结

        最后,通过本学期的学习,我们不仅学习到了很多深刻的java知识,学习spring boot后,我可以得出以下总结:

        1、简化的开发流程:Spring Boot提供了简化的开发流程,通过自动配置和约定大于配置的原则,可以快速创建和部署应用程序。它集成了许多常用的框架和库,使得开发变得更加快捷高效。

        2、统一的配置管理:Spring Boot提供了一种简化的配置方法,可以统一管理应用程序的配置。你可以使用属性文件、YAML文件、环境变量等方式进行配置,而且可以根据不同的环境使用不同的配置。

        3、自动配置:Spring Boot的自动配置机制可以根据项目的依赖和配置来自动配置应用程序,默认提供了很多开箱即用的功能。这使得开发者可以更专注于业务逻辑的实现,而不必花费太多精力在繁琐的配置上。