【原创唯一】基于SpringBoot+Vue+AI大模型的在线考试与防作弊系统
摘要:随着高校教学信息化不断推进,传统纸笔考试与分散式成绩管理已难以满足大规模组考、过程监管与学情反馈的需要。针对在线考试中题目抄袭风险高、切屏行为难追溯、补考流程易与正考混杂、组卷效率偏低以及错题复习缺乏针对性等问题,本文设计并实现了高校在线考试与防作弊系统。系统面向管理员、教师与学生三类角色:管理员负责学生、教师、班级、考试类型、防作弊规则与公告等基础数据维护;教师完成题库与知识点管理、试卷组卷、考试发布、成绩查看、考试监控与补考安排;学生在前台完成在线答题、成绩查询、错题本练习、切屏警告查看,并可发起 AI 错题诊断。
系统采用 Spring Boot 与 Vue 前后端分离架构,以 MySQL 持久化业务数据,通过 JWT 实现多角色接口鉴权。在关键业务上,开考时可为每位考生独立生成题目乱序并写入考试场次;答题页监听切屏事件,结合防作弊规则完成警告判定与超限自动交卷;补考采用授权式双场次机制,强制使用不同于正考的试卷,并在成绩中区分正考与补考;试卷支持按题型、难度与数量进行规则化自动组卷;错题本对接火山方舟大模型,输出薄弱知识点与复习建议,并在调用失败时降级为知识点频次统计。经功能走查与主流程验证,系统能够支撑从组卷发布、在线监考到成绩反馈与补考安排的完整闭环,对同类高校在线考试平台建设具有一定参考价值。
数据库表:19张
创新点:题目乱序防作弊、切屏行为自动记录、补考授权与双场次机制、多维度规则自动组卷、AI大模型错题诊断与复习建议
演示视频
在线考试与防作弊系统
🍅文末获取联系🍅
🍅文末获取联系🍅
作者介绍:专注计算机编程,个人开发,坚持原创,非工作室,源码全网唯一。
✅ 技术主流:SpringBoot + Vue 前后端分离,MySQL,Echarts数据统计,可本地运行
✅ 配套资料:源码 + 数据库 + 实验报告/论文 + 答辩 PPT+部署演示+远程调试+问题解答
技术范围:SpringBoot、Vue、数据可视化、小程序、HLMT、Nodejs、uni-app、MySQL数据库、ElementUi等设计与开发。
适用范围:软件工程、软件技术、计算机科学与技术、大数据、云计算、JavaWeb开发、JavaEE、Java、Web应用开发、动态网页设计、小程序的毕设参考
开发文档:创新点说明、功能需求分析、数据库表结构设计、后端接口设计、创新点代码分析




功能展示
用户






管理员+教师









数据库及架构
系统数据库设计为:


数据库设计:
/*
Navicat Premium Data Transfer
Source Server : 1
Source Server Type : MySQL
Source Server Version : 50722
Source Host : localhost:3306
Source Schema : 1vuez_exam_system
Target Server Type : MySQL
Target Server Version : 50722
File Encoding : 65001
Date: 16/08/2026 14:41:06
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for admins
-- ----------------------------
DROP TABLE IF EXISTS `admins`;
CREATE TABLE `admins` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '账号',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '姓名',
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号',
`enabled` tinyint(4) NULL DEFAULT 1 COMMENT '是否启用 0禁用 1启用',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `username`(`username`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '管理员' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for answers
-- ----------------------------
DROP TABLE IF EXISTS `answers`;
CREATE TABLE `answers` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`session_id` bigint(20) NOT NULL COMMENT '考试场次ID',
`question_id` bigint(20) NOT NULL COMMENT '题目ID',
`answer_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '作答内容',
`is_correct` tinyint(4) NULL DEFAULT NULL COMMENT '是否正确 0错 1对 NULL待阅卷',
`score` int(11) NULL DEFAULT 0 COMMENT '本题得分',
`saved_at` datetime NULL DEFAULT NULL COMMENT '答案暂存时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '答题记录' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for anti_cheat_rules
-- ----------------------------
DROP TABLE IF EXISTS `anti_cheat_rules`;
CREATE TABLE `anti_cheat_rules` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '防作弊规则名称',
`max_switch_count` int(11) NULL DEFAULT 3 COMMENT '允许最大切屏次数',
`warning_threshold` int(11) NULL DEFAULT 1 COMMENT '几次切屏触发警告',
`auto_submit_on_exceed` tinyint(4) NULL DEFAULT 0 COMMENT '超限是否自动交卷 0否1是',
`enabled` tinyint(4) NULL DEFAULT 1 COMMENT '是否启用 0禁用1启用',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '防作弊规则' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for cheat_records
-- ----------------------------
DROP TABLE IF EXISTS `cheat_records`;
CREATE TABLE `cheat_records` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`session_id` bigint(20) NOT NULL COMMENT '考试场次ID',
`student_id` bigint(20) NOT NULL COMMENT '学生ID',
`exam_id` bigint(20) NOT NULL COMMENT '考试ID',
`event_type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '事件类型 TAB_SWITCH切屏',
`warning_level` tinyint(4) NULL DEFAULT 1 COMMENT '警告级别 1/2/3级',
`detail` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '行为详情描述',
`created_at` datetime NULL DEFAULT NULL COMMENT '记录生成时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '防作弊记录' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for classes
-- ----------------------------
DROP TABLE IF EXISTS `classes`;
CREATE TABLE `classes` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '班级名称',
`grade` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '年级',
`major` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属专业',
`teacher_id` bigint(20) NULL DEFAULT NULL COMMENT '班主任教师ID',
`enabled` tinyint(4) NULL DEFAULT 1 COMMENT '是否启用 0禁用1启用',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '班级' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for exam_sessions
-- ----------------------------
DROP TABLE IF EXISTS `exam_sessions`;
CREATE TABLE `exam_sessions` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`exam_id` bigint(20) NOT NULL COMMENT '发布考试ID',
`student_id` bigint(20) NOT NULL COMMENT '学生ID',
`makeup_id` bigint(20) NULL DEFAULT NULL COMMENT '补考安排ID,正考为NULL',
`question_order` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '乱序题目ID数组JSON',
`status` tinyint(4) NULL DEFAULT 0 COMMENT '状态:0未交卷 1正常交卷 2补考完成 3违规强制交卷',
`switch_count` int(11) NULL DEFAULT 0 COMMENT '本场切屏次数统计',
`start_time` datetime NULL DEFAULT NULL COMMENT '开考时间',
`submit_time` datetime NULL DEFAULT NULL COMMENT '交卷时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '考试场次' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for exam_stats
-- ----------------------------
DROP TABLE IF EXISTS `exam_stats`;
CREATE TABLE `exam_stats` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`stat_key` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '统计标识key',
`stat_value` bigint(20) NULL DEFAULT 0 COMMENT '统计数值',
`stat_label` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '统计中文说明',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '全局统计' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for exam_types
-- ----------------------------
DROP TABLE IF EXISTS `exam_types`;
CREATE TABLE `exam_types` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '考试类型名称',
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型说明',
`sort_order` int(11) NULL DEFAULT 0 COMMENT '前端排序号',
`enabled` tinyint(4) NULL DEFAULT 1 COMMENT '是否启用',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '考试类型' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for exams
-- ----------------------------
DROP TABLE IF EXISTS `exams`;
CREATE TABLE `exams` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '考试名称',
`paper_id` bigint(20) NOT NULL COMMENT '关联试卷ID',
`exam_type_id` bigint(20) NULL DEFAULT NULL COMMENT '考试类型ID',
`class_id` bigint(20) NULL DEFAULT NULL COMMENT '参考班级ID',
`teacher_id` bigint(20) NULL DEFAULT NULL COMMENT '发布教师ID',
`rule_id` bigint(20) NULL DEFAULT NULL COMMENT '防作弊规则ID',
`start_time` datetime NULL DEFAULT NULL COMMENT '考试开始时间',
`end_time` datetime NULL DEFAULT NULL COMMENT '考试截止时间',
`duration_minutes` int(11) NULL DEFAULT 90 COMMENT '考试时长(分钟)',
`shuffle_enabled` tinyint(4) NULL DEFAULT 1 COMMENT '题目乱序开启 0关闭1开启',
`status` tinyint(4) NULL DEFAULT 0 COMMENT '考试状态0草稿1已发布2已结束',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '考试备注说明',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '考试发布' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for knowledge
-- ----------------------------
DROP TABLE IF EXISTS `knowledge`;
CREATE TABLE `knowledge` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '知识点名称',
`parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父级知识点ID,顶级为NULL',
`teacher_id` bigint(20) NULL DEFAULT NULL COMMENT '创建教师ID',
`enabled` tinyint(4) NULL DEFAULT 1 COMMENT '是否启用',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '知识点标签' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for makeup_exams
-- ----------------------------
DROP TABLE IF EXISTS `makeup_exams`;
CREATE TABLE `makeup_exams` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`original_exam_id` bigint(20) NOT NULL COMMENT '原正式考试ID',
`student_id` bigint(20) NOT NULL COMMENT '补考学生ID',
`paper_id` bigint(20) NULL DEFAULT NULL COMMENT '补考试卷ID',
`new_exam_id` bigint(20) NULL DEFAULT NULL COMMENT '补考对应的发布考试ID',
`teacher_id` bigint(20) NULL DEFAULT NULL COMMENT '安排补考教师ID',
`reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '补考申请原因',
`status` tinyint(4) NULL DEFAULT 0 COMMENT '状态:0待补考 1进行中 2已完成',
`start_time` datetime NULL DEFAULT NULL COMMENT '补考开始时间',
`end_time` datetime NULL DEFAULT NULL COMMENT '补考截止时间',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '补考安排' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for notices
-- ----------------------------
DROP TABLE IF EXISTS `notices`;
CREATE TABLE `notices` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公告标题',
`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '公告正文内容',
`status` tinyint(4) NULL DEFAULT 1 COMMENT '状态0下架1正常发布',
`created_at` datetime NULL DEFAULT NULL COMMENT '发布时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '平台公告' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for paper_questions
-- ----------------------------
DROP TABLE IF EXISTS `paper_questions`;
CREATE TABLE `paper_questions` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`paper_id` bigint(20) NOT NULL COMMENT '试卷ID',
`question_id` bigint(20) NOT NULL COMMENT '题目ID',
`score` int(11) NULL DEFAULT 5 COMMENT '该题目在本试卷中的分值',
`sort_order` int(11) NULL DEFAULT 0 COMMENT '试卷内题目原始排序',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 26 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '试卷题目关联表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for papers
-- ----------------------------
DROP TABLE IF EXISTS `papers`;
CREATE TABLE `papers` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '试卷名称',
`total_score` int(11) NULL DEFAULT 100 COMMENT '试卷总分',
`teacher_id` bigint(20) NULL DEFAULT NULL COMMENT '组卷教师ID',
`status` tinyint(4) NULL DEFAULT 0 COMMENT '试卷状态0草稿1已启用',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '试卷备注',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '试卷' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for questions
-- ----------------------------
DROP TABLE IF EXISTS `questions`;
CREATE TABLE `questions` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`title` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '题干内容',
`question_type` tinyint(4) NOT NULL COMMENT '题型:1单选 2多选 3判断 4简答 5填空',
`options_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '选择题选项JSON数组',
`answer` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '标准答案',
`analysis` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '试题解析',
`score` int(11) NULL DEFAULT 5 COMMENT '题目默认分值',
`difficulty` tinyint(4) NULL DEFAULT 1 COMMENT '难度:1简单 2中等 3困难',
`knowledge_id` bigint(20) NULL DEFAULT NULL COMMENT '关联知识点ID',
`teacher_id` bigint(20) NULL DEFAULT NULL COMMENT '出题教师ID',
`enabled` tinyint(4) NULL DEFAULT 1 COMMENT '是否启用 0禁用1启用',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '题库题目' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for scores
-- ----------------------------
DROP TABLE IF EXISTS `scores`;
CREATE TABLE `scores` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`session_id` bigint(20) NOT NULL COMMENT '考试场次ID',
`exam_id` bigint(20) NOT NULL COMMENT '发布考试ID',
`student_id` bigint(20) NOT NULL COMMENT '学生ID',
`total_score` int(11) NULL DEFAULT 0 COMMENT '试卷总分',
`objective_score` int(11) NULL DEFAULT 0 COMMENT '客观题得分(单选多选判断填空)',
`subjective_score` int(11) NULL DEFAULT 0 COMMENT '主观题得分(简答、论述)',
`status` tinyint(4) NULL DEFAULT 0 COMMENT '成绩状态0待阅卷 1阅卷完成',
`graded_at` datetime NULL DEFAULT NULL COMMENT '阅卷完成时间',
`teacher_id` bigint(20) NULL DEFAULT NULL COMMENT '阅卷教师ID',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '成绩' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for students
-- ----------------------------
DROP TABLE IF EXISTS `students`;
CREATE TABLE `students` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '登录账号',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '登录密码密文',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '学生姓名',
`student_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '学号',
`gender` tinyint(4) NULL DEFAULT NULL COMMENT '性别 1男 0女',
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号',
`class_id` bigint(20) NULL DEFAULT NULL COMMENT '所属班级ID',
`avatar` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像地址,空字符串代表无头像',
`enabled` tinyint(4) NULL DEFAULT 1 COMMENT '账号是否启用',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `username`(`username`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '学生' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for teachers
-- ----------------------------
DROP TABLE IF EXISTS `teachers`;
CREATE TABLE `teachers` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '登录账号',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码密文',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '教师姓名',
`teacher_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '工号',
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号',
`department` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属院系',
`enabled` tinyint(4) NULL DEFAULT 1 COMMENT '账号启用状态',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `username`(`username`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '教师' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for wrong_books
-- ----------------------------
DROP TABLE IF EXISTS `wrong_books`;
CREATE TABLE `wrong_books` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`student_id` bigint(20) NOT NULL COMMENT '学生ID',
`question_id` bigint(20) NOT NULL COMMENT '错题ID',
`exam_id` bigint(20) NULL DEFAULT NULL COMMENT '错题来源考试ID',
`wrong_answer` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '当时错误作答内容',
`review_count` int(11) NULL DEFAULT 0 COMMENT '重做练习次数',
`last_review_at` datetime NULL DEFAULT NULL COMMENT '最近一次练习时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '错题本' ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;
擅长:功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路等。
获取联系
项目功能完整,可在本地运行,并可远程调试,确保运行顺利!
👇🏻👇🏻获取联系方式👇🏻👇🏻
毕业设计获取
https://blog.csdn.net/qq_59059632/article/details/163759879?spm=1011.2415.3001.5331
更多推荐

所有评论(0)