当前位置: 首页 > news >正文

学习进度4/10

创建项目包结构 + 编写实体类(严格对应数据库字段,不简化需求)

  1. 新建包结构(在 src/main/java/com/demo 下,严格按顺序建)
    plaintext
    com.demo
    ├── entity // 实体类(对应7张数据库表)
    ├── mapper // MyBatis接口
    ├── service // 业务层(安全登录+培训模块逻辑)
    ├── controller // 接口层(登录、课程、题库、考试)
    ├── util // 工具类(密码校验、SM2加密、锁定规则)
    └── DemoApplication.java // 启动类
  2. 逐个创建实体类(复制粘贴即可)
    ① SysUser.java(用户表,实现全部安全规则)
    java
    运行
    package com.demo.entity;
    import lombok.Data;
    import java.util.Date;

@Data
public class SysUser {
private Long id;
private String username;
private String password;
private String phone;
private String roleType; // 四种管理员角色
private Integer status; // 1正常 0停用
private Date passwordUpdateTime; // 密码修改时间,判断90天过期
private Integer loginFailCount; // 24h登录失败次数
private Date loginLockTime; // 锁定截止时间
private Date lastLoginTime; // 最后登录时间
private Date createTime;
}
② SysLog.java(审计日志)
java
运行
package com.demo.entity;
import lombok.Data;
import java.util.Date;

@Data
public class SysLog {
private Long id;
private String username;
private String content;
private Date createTime;
}
③ Course.java(培训模块 - 课程)
java
运行
package com.demo.entity;
import lombok.Data;
import java.util.Date;

@Data
public class Course {
private Long id;
private String name;
private String teacher;
private Integer duration;
private String intro;
private Date createTime;
}
④ Question.java(培训模块 - 题库)
java
运行
package com.demo.entity;
import lombok.Data;
import java.util.Date;

@Data
public class Question {
private Long id;
private String title;
private String type; // 单选/多选/判断
private String optionA;
private String optionB;
private String optionC;
private String optionD;
private String answer;
private Date createTime;
}
⑤ Paper.java(培训模块 - 试卷)
java
运行
package com.demo.entity;
import lombok.Data;
import java.util.Date;

@Data
public class Paper {
private Long id;
private String name;
private Integer duration;
private Integer totalScore;
private Date createTime;
}
⑥ PaperQuestion.java(试卷 - 题目关联)
java
运行
package com.demo.entity;
import lombok.Data;

@Data
public class PaperQuestion {
private Long id;
private Long paperId;
private Long questionId;
}
⑦ ExamRecord.java(培训模块 - 考试成绩)
java
运行
package com.demo.entity;
import lombok.Data;
import java.util.Date;

@Data
public class ExamRecord {
private Long id;
private Long userId;
private Long paperId;
private Integer score;
private String status;
private Date createTime;
}

http://www.jsqmd.com/news/798305/

相关文章:

  • 深度解析:如何构建广谱注入Chromium/V8的通用修改器
  • YOLOv11 改进 - 注意力机制 ACmix自注意力与卷积混合模型:轻量级设计融合双机制优势,实现高效特征提取与推理加速
  • 别再只用Speedtest了!用群晖Docker部署Homebox,打造你的专属内网万兆测速站
  • 健康管理PPT风格描述提示词
  • Java面试跳槽需要提前准备什么内容?
  • 计算机毕业设计:Python医疗文本挖掘与可视化决策平台 Flask框架 随机森林 机器学习 疾病数据 智慧医疗 深度学习(建议收藏)✅
  • Sonos家庭影院音频设置指南:微调设置,提升音质与沉浸感!
  • 07 二叉树的最小深度
  • FanControl深度解析:如何为Windows打造智能静音散热系统
  • 5月重磅|2026苏州GEO优化公司TOP5实力盘点+GEO攻略+GEO优化 - 一网推GEO招财兔
  • 深度解析React核心机制:从组件到虚拟DOM的全面指南
  • H3C WA5320云AP瘦转胖实战:从BootWare升级到固件刷写的完整避坑指南
  • 梯度下降变体:SGD、Adam、RMSProp 对比实验
  • 数字的长征:从蒸汽机到智能体——可计算化革命的底层演进脉络
  • 【AI】FastFolders.exe v5.14.2 许可分析
  • 【实战指南】PLSQL Developer 13 从零配置到高效开发:安装、注册与核心功能详解
  • YOLOv11 改进 - 注意力机制 CascadedGroupAttention级联组注意力:动态感受野适配复杂场景,增强小目标特征捕获
  • 复杂SoC PMU管理:Q-Channel协议
  • vnc 7 主机参数设置-不能从客户端复制文本到主机
  • C++学习(26_05_11)
  • RouterOS一线多拨实战:从零配置到负载均衡策略深度解析
  • 2026年4月太阳膜品牌连锁店推荐,可靠的太阳膜连锁店,防雾功能太阳膜,雨天驾驶更安全 - 品牌推荐师
  • 一文搞懂:JWT(JSON Web Token)与Token认证——从结构剖析到签名算法,再到刷新与注销全攻略
  • HX711 24位ADC模块终极指南:从零开始实现高精度称重测量
  • 别再死记硬背参数了!手把手教你用ANSYS Workbench定义自己的永磁体材料库
  • ledger官网购买这三年:从代购主导到直营落地的渠道演变
  • 告别CondaHTTPError:一份保姆级的Conda镜像源管理与故障排查指南(2024版)
  • 拆解简历:如何用 STAR 法则把“做过的事”讲成“有价值的经历”
  • 建议每个人都尽早用 AI 搭建个人知识库
  • 英语阅读_when you are on holiday