从 0 到 100:基于 Java 的大学选修课选课小程序开发笔记(上)
作者:CC同学
- 2024-12-29 广东
本文字数:3013 字
阅读完需:约 10 分钟
背景
为学生提供便捷的课程选择方式,并帮助学校进行课程管理和资源调配;主要功能包括:课程展示,自主选课,取消选课,后台录入课程,统计每门课程报名情况,导出数据,用户管理,管理员管理等。
用户角色:查看课程详情(课程大纲、授课方式、考核方式、学分等信息)、在特定的时间窗口内开放选课,用户可以在规定时间内自由选课
管理员角色:发布选修课程信息,包括课程内容、时间安排、教学大纲
后台选课管理:按每门课程进行选课统计,支持名单数据导出 Excel,打印
概要设计
技术运用
前端基于微信小程序平台进行开发
后端基于 Java Springboot 架构开发
数据库: MySQL (8.0+)
数据库设计
-- ----------------------------
-- Table structure for enlesson_enroll
-- ----------------------------
DROP TABLE IF EXISTS `enlesson_enroll`;
CREATE TABLE `enlesson_enroll` (
`ENROLL_ID` int NOT NULL AUTO_INCREMENT,
`ENROLL_TITLE` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
`ENROLL_VOUCH` int NOT NULL DEFAULT 0,
`ENROLL_STATUS` int NOT NULL DEFAULT 0,
`ENROLL_CATE_ID` int NOT NULL DEFAULT 0,
`ENROLL_CATE_NAME` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
`ENROLL_MAX_CNT` int NOT NULL DEFAULT 0,
`ENROLL_START` bigint NOT NULL,
`ENROLL_END` bigint NOT NULL,
`ENROLL_ORDER` int NOT NULL DEFAULT 9999,
`ENROLL_VIEW_CNT` int NOT NULL,
`ENROLL_JOIN_CNT` int NOT NULL DEFAULT 9,
`ENROLL_FORMS` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
`ENROLL_OBJ` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
`ADD_TIME` bigint NULL DEFAULT 0,
`EDIT_TIME` bigint NULL DEFAULT 0,
PRIMARY KEY (`ENROLL_ID`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for enlesson_enroll_join
-- ----------------------------
DROP TABLE IF EXISTS `enlesson_enroll_join`;
CREATE TABLE `enlesson_enroll_join` (
`ENROLL_JOIN_ID` int NOT NULL AUTO_INCREMENT,
`ENROLL_JOIN_ENROLL_ID` int NOT NULL DEFAULT 0,
`ENROLL_JOIN_USER_ID` int NOT NULL DEFAULT 0,
`ENROLL_JOIN_STATUS` int NOT NULL DEFAULT 0,
`ADD_TIME` bigint NOT NULL DEFAULT 0,
`EDIT_TIME` bigint NOT NULL DEFAULT 0,
PRIMARY KEY (`ENROLL_JOIN_ID`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1931 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for enlesson_fav
-- ----------------------------
DROP TABLE IF EXISTS `enlesson_fav`;
CREATE TABLE `enlesson_fav` (
`FAV_ID` int NOT NULL AUTO_INCREMENT,
`FAV_USER_ID` int NOT NULL DEFAULT 0,
`FAV_TITLE` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`FAV_TYPE` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`FAV_OID` int NOT NULL DEFAULT 0,
`FAV_PATH` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`ADD_TIME` bigint NOT NULL DEFAULT 0,
`EDIT_TIME` bigint NOT NULL DEFAULT 0,
PRIMARY KEY (`FAV_ID`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 29 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for enlesson_news
-- ----------------------------
DROP TABLE IF EXISTS `enlesson_news`;
CREATE TABLE `enlesson_news` (
`NEWS_ID` int NOT NULL AUTO_INCREMENT,
`NEWS_TITLE` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`NEWS_CATE_ID` int NOT NULL DEFAULT 0,
`NEWS_CATE_NAME` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`NEWS_STATUS` int NOT NULL DEFAULT 1,
`NEWS_ORDER` int NOT NULL DEFAULT 9999,
`NEWS_VOUCH` int NOT NULL DEFAULT 0,
`NEWS_CONTENT` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
`NEWS_VIEW_CNT` int NOT NULL DEFAULT 0,
`NEWS_PIC` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`NEWS_OBJ` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
`NEWS_FORMS` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
`ADD_TIME` bigint NOT NULL DEFAULT 0,
`EDIT_TIME` bigint NOT NULL DEFAULT 0,
PRIMARY KEY (`NEWS_ID`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 68 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for enlesson_setup
-- ----------------------------
DROP TABLE IF EXISTS `enlesson_setup`;
CREATE TABLE `enlesson_setup` (
`SETUP_ID` int NOT NULL AUTO_INCREMENT,
`SETUP_TYPE` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`SETUP_KEY` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`SETUP_VALUE` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`ADD_TIME` bigint NOT NULL DEFAULT 0,
`EDIT_TIME` bigint NOT NULL DEFAULT 0,
PRIMARY KEY (`SETUP_ID`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for enlesson_user
-- ----------------------------
DROP TABLE IF EXISTS `enlesson_user`;
CREATE TABLE `enlesson_user` (
`USER_ID` int NOT NULL AUTO_INCREMENT,
`USER_NAME` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`USER_ACCOUNT` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`USER_STATUS` int NOT NULL DEFAULT 1,
`USER_PASSWORD` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`USER_LOGIN_TIME` bigint NOT NULL DEFAULT 0,
`USER_LOGIN_CNT` int NOT NULL DEFAULT 0,
`USER_OBJ` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
`USER_FORMS` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
`ADD_TIME` bigint NOT NULL DEFAULT 0,
`EDIT_TIME` bigint NOT NULL DEFAULT 0,
PRIMARY KEY (`USER_ID`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1219 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;
复制代码
UI 设计
后台管理
git 代码下载
划线
评论
复制
发布于: 刚刚阅读数: 2
CC同学
关注
CC同学的小程序开发笔记 2021-06-13 加入
大鹅厂的小小程序媛,vx: cclinux0730
评论