基于 Java + MyBatis + MySQL 的 Web 时间日程管理系统
项目背景与目标
随着信息化社会的深入,个人日程管理已成为提升效率的关键环节。无论是企业协作还是个人规划,精确的时间安排和任务分配都至关重要。传统的纸质记录或单一闹钟已无法满足现代复杂的工作流需求。
本系统旨在构建一个基于 Web 的时间日程管理平台,支持用户在线记录日常事务、设置提醒、管理便签,并提供管理员后台进行权限控制。通过数字化手段,帮助用户合理安排时间,减轻工作负担,提高整体效率。
技术选型
为了保证系统的稳定性、扩展性和开发效率,我们采用了成熟且主流的技术栈:
- 后端核心:Java (JDK 1.8) + SpringBoot + MyBatis-Plus
- 数据库:MySQL 5.7
- 前端框架:Bootstrap (响应式布局) + FullCalendar (日历插件)
- 安全认证:Apache Shiro
- 模板引擎:Beetl
- 开发工具:Eclipse, Maven, Tomcat 8.4
为什么选择这些技术?
SpringBoot 简化了配置,让项目启动更轻量;MyBatis-Plus 在 MyBatis 基础上增强了分页和 CRUD 操作,大幅减少样板代码;Shiro 提供了灵活的身份验证和授权机制;FullCalendar 则是处理日程展示的最佳实践,支持拖拽、事件回调等丰富功能。
核心功能模块
系统主要划分为前台展示、后台管理和专属链接三个板块,具体包含以下核心功能:
1. 用户与权限管理
- 注册登录:支持邮箱校验、密码加密存储(Salt + MD5),集成 Shiro 实现会话管理。
- 个人信息:用户可修改头像、联系方式及密码。
- 角色权限:区分普通用户与管理员。管理员拥有全局数据查看权,可冻结账号、重置密码、添加子管理员。
2. 日程规划与管理
这是系统的核心业务模块,分为两部分:
- 计划管理:针对有明确时间点的任务。支持设置开始/结束时间、重复周期、重要程度(不同颜色标识)、提醒方式。管理员可查看并管理所有用户的计划。
- 便签管理:针对无固定时间的记录。支持置顶、是否公开显示、代办状态标记。便签墙功能让用户能快速回顾待办事项。
3. 专属链接模式
为了方便移动端或快速访问,系统为每个用户生成了专属链接。无需登录即可直接查看个人日历和便签墙,适合嵌入书签或作为快捷入口。若链接泄露,用户可在首页一键重置。
4. 系统配置
管理员可维护组织机构信息(如网站名称、Logo、联系方式),这些信息会同步展示在'关于我们'页面,便于系统品牌化定制。
数据库设计
数据库是系统的基石,设计时遵循第三范式,确保数据一致性与查询效率。主要涉及以下实体表:
- sys_user:用户基本信息(账号、密码盐、角色 ID、部门 ID、状态等)。
- plan:日程计划表(标题、内容、起止时间、提醒设置、关联用户)。
- note:便签表(内容、是否置顶、是否展示、父级 ID 用于归档)。
- sys_role / sys_dept:角色与部门关联表。
以便签表为例,关键字段设计如下:
CREATE TABLE note (
id int(11) AUTO_INCREMENT COMMENT ,
pid () COMMENT ,
type () COMMENT ,
userid () COMMENT ,
title () COMMENT ,
text text COMMENT ,
is_show () COMMENT ,
is_top () COMMENT ,
createtime datetime COMMENT ,
updatetime datetime COMMENT ,
(id)
) ENGINEInnoDB CHARSETutf8;


图:网站首页展示
图:计划管理界面
图:专属链接日历视图