11.24
在 IDEA 中实现每日总结管理系统步骤指南
一、前期准备(环境搭建与项目初始化)
- 确认开发环境
JDK 版本:建议使用 JDK 1.8(兼容性强,适配多数 Java Web 框架),需提前配置好JAVA_HOME环境变量,可通过命令行输入java -version验证是否配置成功。
IDEA 版本:推荐 IntelliJ IDEA 2022 及以上版本(支持更好的 Maven/Gradle 集成、Web 开发插件)。
数据库:选择 MySQL 8.0(开源且易用),需安装 MySQL 服务并启动,可使用 Navicat 或 MySQL Workbench 管理数据库。
Web 服务器:内置 Tomcat 9.0(IDEA 可直接集成,无需单独配置外部服务器)。 - 初始化 Java Web 项目
打开 IDEA,点击「Create New Project」,选择「Maven」→ 勾选「Create from archetype」→ 找到「org.apache.maven.archetypes:maven-archetype-webapp」,点击「Next」。
填写项目基本信息:
GroupId:自定义(如com.student.daily,遵循反向域名规则)
ArtifactId:项目名(如DailySummarySystem)
Version:默认1.0-SNAPSHOT,点击「Next」。
配置 Maven:选择本地 Maven 路径(若未安装,IDEA 可自动下载),勾选「Override」确认 Maven 配置文件路径,点击「Next」。
选择项目保存路径,点击「Finish」,等待 Maven 自动下载依赖(首次创建可能耗时,需确保网络正常)。
补全项目结构:默认生成的src/main下缺少java目录,右键src/main→「New」→「Directory」,命名为java,右键该目录→「Mark Directory as」→「Sources Root」;同理,在src/main下创建resources目录(标记为「Resources Root」),用于存放配置文件。
二、数据库设计与创建(核心基础) - 编写 SQL 脚本(按需求创建 3 张核心表)
打开 MySQL 客户端(如 Navicat),新建数据库daily_summary_db,执行以下 SQL 脚本创建表:
sql
-- 1. 日报发表基本信息表(t_daily_report)
CREATE TABLE t_daily_report (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '日报编号(唯一)',
publishdate CHAR(8) NOT NULL COMMENT '发表时间(格式:20241227)',
stuno CHAR(8) NOT NULL COMMENT '学号(8位)',
name VARCHAR(20) NOT NULL COMMENT '姓名',
spenttime INT NOT NULL COMMENT '当天花费时间(分钟/小时,需明确单位,建议小时)',
codeamount INT NOT NULL COMMENT '代码量(行)',
blogsnumber INT NOT NULL COMMENT '发表博客数量(篇)',
knowledgepoints TEXT NOT NULL COMMENT '所学知识点',
state VARCHAR(10) NOT NULL DEFAULT '待审批' COMMENT '日报状态(待审批/通过/评分/退回)',
dailyscore INT DEFAULT NULL COMMENT '日报评分(如0-100分,未评分则为NULL)',
statereason VARCHAR(500) DEFAULT NULL COMMENT '日报评语',
FOREIGN KEY (stuno) REFERENCES t_user(user_id) COMMENT '关联人员表学号'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 2. 站内消息表(t_message)
CREATE TABLE t_message (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '站内消息编号(唯一)',
category INT NOT NULL COMMENT '消息类别(0催交/1形式不合格/2内容不合格)',
sender_name VARCHAR(20) NOT NULL COMMENT '发送人姓名',
sender_no CHAR(8) NOT NULL COMMENT '发送人编码(学生学号/教师工号)',
receiver_name VARCHAR(20) NOT NULL COMMENT '接收人姓名',
receiver_no CHAR(8) NOT NULL COMMENT '接收人编码(学生学号)',
content TEXT NOT NULL COMMENT '消息内容',
state VARCHAR(10) NOT NULL DEFAULT '未读' COMMENT '消息状态(已读/未读)',
FOREIGN KEY (sender_no) REFERENCES t_user(user_id) COMMENT '关联发送人',
FOREIGN KEY (receiver_no) REFERENCES t_user(user_id) COMMENT '关联接收人'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 3. 人员基本信息表(t_user)
CREATE TABLE t_user (
user_id CHAR(8) PRIMARY KEY COMMENT '人员ID(学生学号/教师工号,教师工号以0开头)',
user_name VARCHAR(20) NOT NULL COMMENT '姓名',
user_category INT NOT NULL COMMENT '人员类别(0学生/1小组长/2教师)',
group_no INT NOT NULL DEFAULT 0 COMMENT '组号(教师默认为0)'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 插入测试数据(便于后续功能调试)
INSERT INTO t_user (user_id, user_name, user_category, group_no)
VALUES
('20230001', '张三', 0, 1), -- 学生(1组)
('20230002', '李四', 1, 1), -- 小组长(1组)
('02000069', '王老师', 2, 0); -- 教师

浙公网安备 33010602011771号