JavaEE作业管理系统

一、功能介绍

老师端

1.注册/登录

2.发布作业

3.批改作业

学生端

1.登录/注册

2.查看/提交作业

3.更新作业

二、技术介绍

1.Spring Boot

Spring Boot的设计是为了能够拿简化新Spring应用的初始搭建,让Spring应用程序尽快跑起来,减少配置文件,同时简化开发过程。

Spring Boot集成了很多的常用第三方库配置库,提供了很多非功能性特征,如嵌入式服务、安全性、外部化配置等。

Spring Boot不是Spring的替代者,Spring框架是通过IOC机制来管理Bean的。而Spring Boot框架是依赖Spring框架来管理对象的依赖。

Spring Boot是基于Spring Framework构建的,Spring Cloud是构建Spring Boot分布式环境。

javaee大作业框架 javaee作业管理系统_SQL


2.MyBatis

Mybatis是一个基于Java的持久层框架,包括SQL Maps和Data Access Objects,他支持定制化SQL、存储过程以及高级映射。它避免了绝大多数的JDBC代码和手动设置参数以及获取结果集。可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJO映射成数据库中的记录。

特点:

1.简单易学,没有第三方依赖,简单安装只需要两个jar文件和几个sql映射文件。

2.灵活,不会对程序或数据库现有的设计有影响,sql写在xml中,可以满足所有对数据库的操作。

3.将sql与程序代码解耦合,提高了可维护性。

功能架构

1.API接口层:通过这些本地API来操纵数据库。接收到调用请求就会调用数据处理层来完成具体的数据处理。

2.数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理。根据调用请求完成数据库操作。

3.基础支撑层:包括连接管理、事务管理、配置加载和缓存处理,是最基础的组件。为上层数据处理层提供支撑。

3.JPA
JPA是Java Persistence API的简称,用于对象持久化的 API。JPA 是 hibernate 的一个抽象。
特点:
1.标准化,提供相同的API,经过少量的修改就能够在不同的 JPA 框架下运行。
2.简单易用,在 JPA 框架下创建实体和创建 Java 类一样简单,只需要使用 javax.persistence.Entity 进行注释。

4.Docker
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
优点:
1.可以快速,一致的交付程序,简化了开发的生命周期。
2.响应式部署和扩展,可移植性和轻量级,可以减轻动态管理的工作负担。
3.在同一硬件上运行更多的工作负载,可以利用更少的资源做更多的事。

三、数据库设计

这个项目涉及了四张表,分别是学生表、老师表、作业表和学生提交作业表。

学生表

javaee大作业框架 javaee作业管理系统_JPA_02


教师表

javaee大作业框架 javaee作业管理系统_API_03


作业表

javaee大作业框架 javaee作业管理系统_javaee大作业框架_04


学生提交作业表

javaee大作业框架 javaee作业管理系统_SQL_05


四、流程介绍登录界面

javaee大作业框架 javaee作业管理系统_JPA_06


在登录界面用户需要选择自己的身份是老师或者学生,并且使用相应的用户名与密码进行登录,若未选择身份或信息不匹配,登陆失败。注册界面

javaee大作业框架 javaee作业管理系统_java_07


新用户需要输入相应的信息进行注册,用户名不能与已有用户名重复,身份必须选择,否则注册失败。

教师端

作业列表

javaee大作业框架 javaee作业管理系统_javaee大作业框架_08

教师可以对已有作业进行查看删除,可以添加新的作业。作业详情

javaee大作业框架 javaee作业管理系统_javaee大作业框架_09


添加作业

javaee大作业框架 javaee作业管理系统_javaee大作业框架_10

批改作业列表

javaee大作业框架 javaee作业管理系统_javaee大作业框架_11


教师可以查看待批改作业和已批改作业,并且进行相应操作。批改作业

javaee大作业框架 javaee作业管理系统_javaee大作业框架_12


javaee大作业框架 javaee作业管理系统_SQL_13


教师可以查看学生提交的作业,并进行批改。

学生端

作业列表

javaee大作业框架 javaee作业管理系统_JPA_14


javaee大作业框架 javaee作业管理系统_java_15

学生可以选择已发布的作业进行答题。我的作业

javaee大作业框架 javaee作业管理系统_API_16


学生可以查看自己的作业以及老师的评语,对于老师未批改过的作业可以进行修改,对于已经批改过的作业不能修改。修改作业

javaee大作业框架 javaee作业管理系统_java_17


javaee大作业框架 javaee作业管理系统_java_18


搜索作业

javaee大作业框架 javaee作业管理系统_JPA_19


javaee大作业框架 javaee作业管理系统_JPA_20


学生可以在自己的作业中,根据关键字查找作业。五、关键代码展示

StudentController

javaee大作业框架 javaee作业管理系统_SQL_21


TeacherController

javaee大作业框架 javaee作业管理系统_JPA_22


StudentService

javaee大作业框架 javaee作业管理系统_javaee大作业框架_23


TeacherService

javaee大作业框架 javaee作业管理系统_java_24


github地址:https://github.com/yankexin/JavaEE-Project