11.24

在 IDEA 中实现每日总结管理系统步骤指南
一、前期准备(环境搭建与项目初始化)

  1. 确认开发环境
    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 可直接集成,无需单独配置外部服务器)。
  2. 初始化 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」),用于存放配置文件。
    二、数据库设计与创建(核心基础)
  3. 编写 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); -- 教师

posted @ 2025-11-30 22:32  muyuxiaxing  阅读(0)  评论(0)    收藏  举报