# LostandFound
基于前后端分离的校园失物招领系统设计与实现。
## 数据库设计
## 角色表
```sql
CREATE TABLE `roles` (
`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '角色ID',
`name` VARCHAR(50) NOT NULL COMMENT '角色名称',
`description` VARCHAR(255) COMMENT '角色描述',
`created_time` DATE NOT NULL COMMENT '创建时间',
`update_time` DATE COMMENT '删除时间',
`is_deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否逻辑删除:0-未删除,1-已删除',
`created_by` INT(11) NOT NULL COMMENT '创建者ID',
`updated_by` INT(11) NOT NULL COMMENT '最后修改者ID',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '角色表';
```
上述表中的 `id`、`name`、`created_time`、`deleted_time`、`is_deleted`、`created_by`和`updated_by` 分别代表角色ID、角色名称、创建时间、删除时间、是否逻辑删除、创建者ID和最后修改者ID,其中:
- `id`:自增主键,用于唯一标识每一个角色;
- `name`:角色名称,不允许为空;
- `description`:角色描述,可为空,用于描述角色的一些具体信息;
- `created_time`:角色创建时间,默认为当前时间;
- `deleted_time`:角色删除时间,默认为空,如果角色被逻辑删除,则此字段记录删除时间;
- `is_deleted`:是否逻辑删除标志位,默认为0,表示未删除;如果为1,则表示已被逻辑删除;
- `created_by`:创建者ID,用于记录创建者的ID信息;
- `updated_by`:最后修改者ID,用于记录最后修改者的ID信息。
这个角色表的设计可以根据具体需求进行修改和扩展,例如可以添加更多的列来存储其他角色信息,或者根据需要增加其他的索引来提高查询性能。
## 权限表
```sql
CREATE TABLE permissions (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '权限ID',
name VARCHAR(50) NOT NULL COMMENT '权限名称',
description TEXT COMMENT '权限描述',
created_time DATE NOT NULL COMMENT '创建时间',
updated_time DATE NOT NULL COMMENT '更新时间',
is_deleted BOOLEAN NOT NULL DEFAULT false COMMENT '是否逻辑删除'
);
```
在这个表中,我们使用了 `id` 作为主键,这个字段会自动递增。同时,我们添加了 `name` 和 `description` 字段,用于描述该权限的名称和详情。这些字段都使用了常规的 VARCHAR 和 TEXT 数据类型。
此外,我们也为表中的 `created_time` 和 `updated_time` 字段添加了 `DATE` 数据类型,用于存储对应权限的创建和更新时间。我们也添加了 `is_deleted` 字段,用于标识该权限是否已被逻辑删除,这个字段使用了 `BOOLEAN` 数据类型,并设置了默认值为 `false`。
最后,我们也为每个字段添加了注释,方便其他开发者阅读和理解这个表的设计意图。
## 帖子表
```sql
CREATE TABLE post (
id INT AUTO_INCREMENT COMMENT '帖子ID',
title VARCHAR(255) NOT NULL COMMENT '标题',
content TEXT NOT NULL COMMENT '内容',
author_id INT NOT NULL COMMENT '作者ID',
created_time DATE NOT NULL COMMENT '创建时间',
updated_time DATE NOT NULL COMMENT '更新时间',
is_deleted BOOLEAN NOT NULL DEFAULT false COMMENT '逻辑删除标识',
status TINYINT NOT NULL DEFAULT 1 COMMENT '状态(1:正常,2:待审核,3:已删除,4:已禁用)',
PRIMARY KEY (id),
FOREIGN KEY (author_id) REFERENCES user(id) ON DELETE CASCADE ON UPDATE CASCADE
) COMMENT '帖子表';
```
### 说明:
1. `id` 字段为自增长的帖子 ID。
2. `title` 和 `content` 字段分别为帖子的标题和内容,其中 `content` 使用 `TEXT` 类型以支持较大的文本内容。
3. `author_id` 字段为帖子作者的 ID,使用整数类型,并与 `user` 表中的 `id` 字段关联。
4. `created_time` 和 `updated_time` 字段分别为帖子的创建时间和更新时间,使用 `DATE` 类型存储日期信息。
5. `is_deleted` 字段为逻辑删除标识,使用布尔类型存储,初始值为 `false`。
6. 主键为 `id` 字段,外键为 `author_id` 字段,使用 `CASCADE` 选项表示当关联的用户被删除或更新时,对应的帖子也会被删除或更新。
7. 对表和各个字段都添加了相应的注释,以方便理解和维护。
### 更新
1. 新增了 `status` 字段,使用 `TINYINT` 类型存储帖子的状态信息,其值对应不同的状态,例如 `1` 表示正常状态,`2` 表示待审核状态,`3` 表示已删除状态,`4` 表示已禁用状态。
2. `status` 字段使用 `DEFAULT` 关键字指定初始值为 `1`,表示帖子默认为正常状态。
3. 对 `status` 字段也添加了注释以便理解。
## 评论表
```sql
CREATE TABLE comments (
id INT AUTO_INCREMENT PRIMARY KEY,
post_id INT NOT NULL COMMENT '关联帖子表id',
commenter_id INT NOT NULL COMMENT '评论人id',
commented_user_id INT NOT NULL COMMENT '被评论人id',
content TEXT NOT NULL COMMENT '评论内容',
created_time DATE NOT NULL COMMENT '创建时间',
updated_time DATE COMMENT '更新时间',
deleted_time DATE COMMENT '删除时间,若为null则未删除',
comment_type INT NOT NULL COMMENT '评论类型,分为一级评论和二级评论',
parent_id INT DEFAULT NULL COMMENT '父级评论id,若为null则为一级评论',
);
```
### 说明:
- `id`:评论的唯一标识符,使用 `INT` 类型,并设置为自增。
- `parent_id`:表示当前评论是哪个父级评论的回复,如果为一级评论则为 null,使用 `INT` 类型。
- `post_id`:表示当前评论是哪个帖子下的评论,使用 `INT` 类型,不允许为 null。
- `commenter_id`:表示发表该评论的用户 ID,使用 `INT` 类型,不允许为 null。
- `commented_user_id`:表示被评论的用户 ID,使用 `INT` 类型,不允许为 null。
- `content`:评论的内容,使用 `TEXT` 类型,不允许为 null。
- `comment_type`:评论类型,使用`INT`类型,分为一级评论和二级评论
- `created_time`:评论的创建时间,使用 `DATE` 类型,不允许为 null,并添加了 `COMMENT` 注释。
- `updated_time`:评论的更新时间,使用 `DATE` 类型,允许为 null,并添加了 `COMMENT` 注释。
- `deleted_time`:评论的删除时间,使用 `DATE` 类型,允许为 null,并添加了 `COMMENT` 注释。
## 点赞表
```sql
CREATE TABLE likes (
id INT AUTO_INCREMENT PRIMARY KEY, -- 点赞ID
user_id INT NOT NULL, -- 用户ID
post_id INT NOT NULL, -- 帖子ID
created_time DATE NOT NULL COMMENT '创建时间', -- 创建时间
updated_time DATE NOT NULL COMMENT '更新时间' -- 更新时间
);
```
### 说明:
- `id`:点赞的唯一标识符,采用自增长整数的方式生成;
- `user_id`:点赞的用户ID,非空;
- `post_id`:被点赞的帖子ID,非空;
- `created_time`:点赞创建的时间,使用DATE类型存储,非空,加上了comment注释;
- `updated_time`:点赞更新的时间,使用DATE类型存储,非空,加上了comment注释;
- `fk_likes_users`:该外键确保了每个点赞都关联到一个现有的用户;
- `fk_likes_posts`:该外键确保了每个点赞都关联到一个现有的帖子。
这个表能够记录每个用户对每个帖子的点赞情况,同时也可以追踪点赞的创建和更新时间。如果需要在此基础上进行进一步的扩展,可以添加其他字段,如点赞状态(例如,是否已经取消点赞)、点赞评论等。
## 收藏表
```sql
CREATE TABLE collection (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL COMMENT '用户ID',
post_id INT NOT NULL COMMENT '帖子ID',
created_time DATE NOT NULL COMMENT '创建时间',
updated_time DATE NOT NULL COMMENT '更新时间',
description TEXT COMMENT '收藏描述'
);
```
### 说明:
- `id`:自增主键�
没有合适的资源?快使用搜索试试~ 我知道了~
java毕业设计 基于SpringBoot+Mybatis的校园失物招领系统的设计与实现+详细文档+全部资料。(优秀项目)
共161个文件
java:132个
xml:20个
properties:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 180 浏览量
2024-04-17
10:50:23
上传
评论
收藏 177KB ZIP 举报
温馨提示
【资源说明】 java毕业设计 基于SpringBoot+Mybatis的校园失物招领系统的设计与实现+详细文档+全部资料。(优秀项目).zipjava毕业设计 基于SpringBoot+Mybatis的校园失物招领系统的设计与实现+详细文档+全部资料。(优秀项目).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕设项目、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 3、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
java毕业设计 基于SpringBoot+Mybatis的校园失物招领系统的设计与实现+详细文档+全部资料。(优秀项目) (161个子文件)
mvnw.cmd 7KB
.gitignore 395B
maven-wrapper.jar 57KB
PostController.java 8KB
UserController.java 7KB
RedisCache.java 6KB
UserSecurityController.java 4KB
MessageController.java 4KB
CommentsController.java 4KB
MailUtils.java 4KB
JwtUtil.java 4KB
RegisterController.java 4KB
LikesController.java 4KB
JwtAuthenticationTokenFilter.java 3KB
ReportController.java 3KB
LoginController.java 3KB
TaskUsersController.java 3KB
AttentionController.java 3KB
GenerateCode.java 3KB
CollectionsController.java 3KB
AttributeController.java 3KB
SecurityConfig.java 3KB
BlacklistController.java 3KB
User.java 2KB
Post.java 2KB
RolePermissionController.java 2KB
UserSettingsController.java 2KB
ScheduledTask.java 2KB
PermissionsController.java 2KB
RedisConfig.java 2KB
UserRoleController.java 2KB
TasksController.java 2KB
FollowController.java 2KB
RolesController.java 2KB
UploadFileController.java 2KB
UserDetailsServiceImpl.java 2KB
Comments.java 2KB
DruidConfig.java 2KB
UserSettings.java 1KB
Roles.java 1KB
UserQuery.java 1KB
MybatisPlusConfig.java 1KB
PostQuery.java 1KB
R.java 1KB
Permissions.java 1KB
Report.java 1KB
MyUserDetails.java 1KB
TaskUsers.java 1KB
RolePermission.java 1KB
Tasks.java 1KB
Follow.java 1KB
Message.java 1KB
UserSecurity.java 1KB
Attention.java 1KB
UserRole.java 1KB
CommentsQuery.java 1KB
Collections.java 1KB
Likes.java 1KB
SwaggerConfig.java 1KB
MyMetaObjectHandler.java 976B
Attribute.java 945B
Blacklist.java 864B
UserTest.java 755B
RolePermissionServiceImpl.java 706B
UserSettingsServiceImpl.java 677B
PermissionsServiceImpl.java 670B
UserRoleServiceImpl.java 664B
CommentsServiceImpl.java 658B
TaskUsersServiceImpl.java 656B
AttributeServiceImpl.java 656B
UserSecurityServiceImpl.java 655B
FollowServiceImpl.java 650B
CollectionsServiceImpl.java 646B
WebConfig.java 644B
RolesServiceImpl.java 637B
PostServiceImpl.java 630B
AttentionServiceImpl.java 630B
TasksServiceImpl.java 628B
LikesServiceImpl.java 628B
UserServiceImpl.java 621B
MessageServiceImpl.java 619B
ReportServiceImpl.java 610B
BlacklistServiceImpl.java 562B
LostandFoundApplication.java 415B
RolePermissionMapper.java 391B
UserRoleMapper.java 373B
UserSettingsMapper.java 370B
CommentsMapper.java 367B
PermissionsMapper.java 367B
FollowMapper.java 367B
TaskUsersMapper.java 361B
AttributeMapper.java 361B
MessageQuery.java 359B
RolesMapper.java 358B
AttentionQuery.java 358B
PostMapper.java 355B
UserSecurityMapper.java 350B
LikesMapper.java 349B
TasksMapper.java 349B
UserMapper.java 346B
共 161 条
- 1
- 2
资源评论
不走小道
- 粉丝: 3338
- 资源: 5059
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功