教材征订和下发系统

news2024/11/15 23:54:14

项目描述

临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问题,今天给大家介绍一篇基于JavaWeb的宿舍管理系统的设计与实现。

功能需求

系统功能要求如下:
管理员:管理员登录、教师管理、班长管理、订单管理、待发放图书管理、已发放图书信息管理、图书管理、个人信息修改、退出系统。
老师模块:老师登录注册、班级管理、班长管理、订单列表、已发放待领取列表管理、图书管理、个人信息修改、退出系统。
学生班长:学生登录注册、班长领取列表、个人信息修改、退出系统

部分效果图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

数据库脚本



SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for approval
-- ----------------------------
DROP TABLE IF EXISTS `approval`;
CREATE TABLE `approval`  (
  `id` int(255) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '编号\r\n',
  `book_id` int(255) NULL DEFAULT NULL COMMENT '书目编号',
  `teacher_id` int(255) UNSIGNED NULL DEFAULT NULL COMMENT '教师id',
  `quantity` int(255) NULL DEFAULT NULL COMMENT '订购数量',
  `toclass` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订购班级',
  `pass` int(3) UNSIGNED NULL DEFAULT 2 COMMENT '是否通过',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `book`(`book_id`) USING BTREE,
  INDEX `teacher_id`(`teacher_id`) USING BTREE,
  CONSTRAINT `approval_ibfk_1` FOREIGN KEY (`teacher_id`) REFERENCES `teacher` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `book` FOREIGN KEY (`book_id`) REFERENCES `books` (`id`) ON DELETE NO ACTION ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 23 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of approval
-- ----------------------------
INSERT INTO `approval` VALUES (7, 1, 10003, 50, '17070143', 3);
INSERT INTO `approval` VALUES (8, 11, 10003, 50, '17070143', 3);
INSERT INTO `approval` VALUES (9, 1, 10003, 50, '17070144', 3);
INSERT INTO `approval` VALUES (22, 2, 10011, 12, '12', 2);

-- ----------------------------
-- Table structure for books
-- ----------------------------
DROP TABLE IF EXISTS `books`;
CREATE TABLE `books`  (
  `id` int(255) NOT NULL AUTO_INCREMENT COMMENT '书籍编号',
  `book_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '书籍名称',
  `book_quantity` int(255) NULL DEFAULT NULL COMMENT '书籍数量',
  `press` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '出版社',
  `price` double(10, 2) NULL DEFAULT NULL COMMENT '价格',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 25 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of books
-- ----------------------------
INSERT INTO `books` VALUES (1, 'JAVAEE入门', -1269, '机械工业出版社', 50.00);
INSERT INTO `books` VALUES (2, '大学英语', 1000, '机械工业出版社', 30.50);
INSERT INTO `books` VALUES (3, '高等数学', 1000, '机械工业出版社', 30.50);
INSERT INTO `books` VALUES (4, 'C++程序设计', 1000, '电子工业出版社', 50.20);
INSERT INTO `books` VALUES (5, '大学物理', 1000, '复旦大学出版社', 30.50);
INSERT INTO `books` VALUES (6, 'Android开发', 500, '电子工业出版社', 80.20);
INSERT INTO `books` VALUES (7, 'C语言从入门到精通', 1000, '人民邮电出版社', 20.50);


-- ----------------------------
-- Table structure for classleader
-- ----------------------------
DROP TABLE IF EXISTS `classleader`;
CREATE TABLE `classleader`  (
  `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名',
  `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密码',
  `email` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '电子邮箱',
  `id` int(255) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '编号',
  `classid` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '班级号',
  `department` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '院系',
  PRIMARY KEY (`id`, `username`, `classid`) USING BTREE,
  INDEX `id`(`id`) USING BTREE,
  INDEX `classid`(`classid`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of classleader
-- ----------------------------
INSERT INTO `classleader` VALUES ('张三', '123', '123@qq.com', 5, '17070143', '大数据学院s');

-- ----------------------------
-- Table structure for grant
-- ----------------------------
DROP TABLE IF EXISTS `grant`;
CREATE TABLE `grant`  (
  `order_id` int(255) UNSIGNED NOT NULL COMMENT '订单号(外键)',
  `grant_time` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发放时间',
  `grant_place` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发放地点',
  PRIMARY KEY (`order_id`) USING BTREE,
  CONSTRAINT `grant_ibfk_1` FOREIGN KEY (`order_id`) REFERENCES `approval` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of grant
-- ----------------------------
INSERT INTO `grant` VALUES (7, '2019-12-1 9:00', '11201H');


-- ----------------------------
-- Table structure for manager
-- ----------------------------
DROP TABLE IF EXISTS `manager`;
CREATE TABLE `manager`  (
  `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名',
  `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密码',
  `email` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '电子邮件',
  `id` int(255) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '编号',
  PRIMARY KEY (`id`, `username`) USING BTREE,
  UNIQUE INDEX `unique`(`username`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 50 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of manager
-- ----------------------------
INSERT INTO `manager` VALUES ('admin', '123', '1707004732@st.nuc.edu.cn', 5);

-- ----------------------------
-- Table structure for teacher
-- ----------------------------
DROP TABLE IF EXISTS `teacher`;
CREATE TABLE `teacher`  (
  `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `email` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `id` int(255) UNSIGNED NOT NULL AUTO_INCREMENT,
  `department` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`, `username`) USING BTREE,
  INDEX `id`(`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10014 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of teacher
-- ----------------------------
INSERT INTO `teacher` VALUES ('张健华', '123', '666@QQ.com', 10002, '大数据学院');


-- ----------------------------
-- Table structure for teacher_class
-- ----------------------------
DROP TABLE IF EXISTS `teacher_class`;
CREATE TABLE `teacher_class`  (
  `teacher_id` int(255) UNSIGNED NOT NULL COMMENT '老师编号',
  `class_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '班级号',
  PRIMARY KEY (`teacher_id`, `class_id`) USING BTREE,
  UNIQUE INDEX `dsa`(`teacher_id`, `class_id`) USING BTREE,
  INDEX `class_id`(`class_id`) USING BTREE,
  CONSTRAINT `teacher_class_ibfk_1` FOREIGN KEY (`teacher_id`) REFERENCES `teacher` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of teacher_class
-- ----------------------------

INSERT INTO `teacher_class` VALUES (10011, 'safwdf');

SET FOREIGN_KEY_CHECKS = 1;

安装部署需求

利用tomcat启动运行

总体设计

本项目用到的技术和框架
(1)采用三层架构的模式使用SSM框架式搭建后端。
(2)JavaScript前端技术搭建前端界面。
(4)采用开源免费的MySQL数据库存储业务数据。

本项目中的关键点

此系统的开发采用java语言开发,基于B/S结构,这些开发环境使系统更加完善。使用到的工具和技术都是开源免费的。

环境工具

开发工具 Eclipse/IDEA
语言 JDK1.8
硬件:笔记本电脑;
软件:Tomcat9.0 Web服务器、Navicat数据库客户端、MySQL;
操作系统:Windows 10;
以上是本系统的部分功能展示,如果你的选题正好相符,那么可以做毕业设计或课程设计使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/78699.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Cloud Alibaba Nacos Config - - - >配置中心

官方文档:https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config 市面上比较有名的配置中心: Spring Cloud ConfigApolloSpring Cloud Alibaba Nacos Config Spring Cloud Config 大部分场景结合 git 使用,动态变更还需要依赖…

Python获取世界杯热搜榜,并制作脚本自动发送信息到邮箱

前言 现在正是卡塔尔世界杯激战正酣的时候,每天都有各种各样的新闻。而且,不同的球队,随着比赛的进程,关注的热度也会发生翻天覆地的变化。 今天我们就来获取卡塔尔世界的球队热搜榜,并制作自动发送邮件脚本&#xff…

深度优先搜索(DFS)剪枝:记忆化搜索(C++)

目录 一、基本思想 二、样例 三、程序 1、普通的深度优先搜索 2、分析 3、记忆化搜索 程序 四、实际速度样例 一、基本思想 今天我们来讲一下深搜的剪枝方法中的一个:记忆化搜索。 顾名思义,记忆化搜索就是让程序记住一些东西,然后可以…

Stimulsoft Dashboards.JS JavaScript 2203.1.0仪表板

Stimulsoft Dashboards.JS--Ω578867473 Dashboards.JS 是一个功能齐全的工具,用于为 JavaScript 平台创建仪表板。 JavaScript 仪表板 Dashboards.JS 是一个功能齐全的工具,用于为 JavaScript 平台创建仪表板。要生成和查看仪表板,您需要任何…

Qt扫盲-QAbstractButton 笔记总结

QAbstractButton使用总结一、概要1.显示内容2. 快捷键3. 对话框默认按钮4. 按钮状态5. 信号说明6. 自定义按钮QAbstractButton 类实现的是一个抽象按钮。主要是Button类具有的共性,但是处理用户的操作响应、并绘制不同按钮的形式是由子类来完成的。一、概要 QAbstr…

图文深度解析Linux内存碎片整理实现机制以及源码

图文深度解析Linux内存碎片整理实现机制以及源码。 物理内存是以页为单位进行管理的,每个内存页大小默认是4K(大页除外)。申请物理内存时,一般都是按顺序分配的,但释放内存的行为是随机的。随着系统运行时间变长后,将会出现以下情况: 在多道程序当中,如果要让我们的程…

深度解析车载域控制器

文章目录域控制器域控制器的组成ADAS域控制器智能座舱域HUD仪表盘IVI域控制器的发展域控制器对传统ECU的挑战域控制器 ​ 随着车辆的信息化程度的发展,车辆的ECU也越来越多,从引擎控制、转向助力、仪表、影音等,传统的汽车电子电气架构是分布…

基于Intel® Core™ i5 机器人控制器

XM-6815是一款基于Intel 11代酷睿i系列平台CPU壁挂式电脑,扩展内存槽,1mSATA,3千兆网口,6COM,4USB 3.0,4USB 2.0。该产品适合工业机器人控制器、机器视觉控制器等壁挂安装应用场景. 产品规格 产品类型Inte…

阿里巴巴内部不传之秘「十亿级并发系统顶级教程」GitHub一夜封神

何为超大流量? 超大流量是一个很容易理解的意思!举个例子:现在国内疫情反弹,每个小区都要做核酸那么如果同一时间下来一大批人一起做核酸,那么这就是大流量,然后志愿者将人员进行分配排队让医务人员处理的过来那么这就…

Qt5.6.1移植海思Hi3521d(二)

系列文章目录 Qt5.6.1移植海思Hi3521d(一) 前言 该篇讲解一下,使用海思交叉编译器arm-hisiv500-linux-gcc,编译qt5.6源码,搭建qt交叉编译环境 一、修改qmake.conf 打开文件~/Project/qt-everywhere-opensource-src-5…

Python制作简易版烟花,没资金买烟花就来做个电子版的吧

前言 听说有人说我很久没更新了,那今天来表演个粒子烟花 跨年倒计时20天?我已经开始整烟花了,虽然不是很好看吧,但是也能将就看看 😥 这个的背景图,音乐,还有文字都是可以自己修改的哦 效果…

[附源码]JAVA毕业设计-心理健康管理-(系统+LW)

[附源码]JAVA毕业设计-心理健康管理-(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&a…

String 创建了几个对象?

问题一 String zy1 “小朱”; String zy2 “小朱”; 复制代码 问题二 String zy1 “小朱”; String zy2 “大朱”; 复制代码 问题三 String zy1 new String(“小朱”); String zy2 new String(“小朱”); 复制代码 问题四 String zy1 new String(“小朱”);…

09 - 主引导程序控制权的转移

---- 整理自狄泰软件唐佐林老师课程 文章目录1. BootLoader内存布局2. 通过FAT表加载文件内容3. 编程实验:Loader文件内容的加载4. 第一个Loader程序4.1 汇编小贴士:标志寄存器4.2 编程实验:控制权转移5. 小结1. BootLoader内存布局 2. 通过F…

你还不知道「并发下的三色标记」么?

引用计数算法 在对象中添加一个引用计数器,每当有一个地方引用它时 计数器值就加一;当引用失效时,计数器值就减一; 任何时刻计数器为零的对象就是不可能再被使用的。 引用计数算法的缺陷 如下面代码,两个对象互相引用导致无法回收♻️ 对…

【OpenCV学习】第12课:特征提取(高斯不同)

仅自学做笔记用,后续有错误会更改 理论 定义:就是把同一张图像在不同的参数下做高斯模糊之后的结果相减,得到的输出图像,称为高斯不同(DOG)高斯不同是图像的内在特征, 在灰度图像增强丶角点检测中经常用到…

【MySQL】深入分析 锁机制(一)行锁 加锁规则 之 等值查询

文章目录前言一、共享锁(S)和排它锁(X)二、行锁的3种算法Record LockGap LockNext-key Lock三、加锁规则 之 等值查询分析数据准备3.1 聚集索引有匹配索引无匹配索引3.2 唯一索引有匹配索引无匹配索引3.3 普通索引有匹配索引无匹配…

游戏蓝牙耳机哪个好用?2022超低延迟游戏蓝牙耳机推荐

随着蓝牙耳机的快速发展,使用蓝牙耳机玩游戏的人也越来越多。那么,游戏蓝牙耳机哪个好用呢?当然是延迟越低的蓝牙耳机玩游戏的体验感会越好,我们都知道蓝牙耳机相对于有线耳机来说,或多或少会存在延迟。下面&#xff0…

一文讲解linux SMP Boot

说明: Kernel版本:4.14ARM64处理器,Contex-A53,双核使用工具:Source Insight 3.5, Visio 1. 介绍 SMP, Symmetric Multi-Processor,相对于单核处理器来说,SMP实现了真正严格意义上…

写出这个数

目录 1002:写出这个数 输入格式: 输出格式: 输入样例: 输出样例: 代码长度限制 时间限制 内存限制 思路: 1.求和 1.2代码: 2.找到sum的每一位 2.2代码: 3.汉语拼音输出数字 3.2代码: 完整代码: 时间复杂度: 总结: 题…