一、数据库设计
表:总共 10 张表
- 举 表 包括主键 id 举 瓜 id 举 人 id 创建时间 更新时间
- 管理员表 主键 id 管理员 id 管理瓜圈 id 创建时间 更新时间
- 收藏表 主键 id 收藏人 id 收藏瓜 id 创建时间 更新时间
- 评论表 主键 id 评论人 id 评论瓜 id 创建时间 更新时间
- 瓜表 主键瓜 id 所属瓜圈 id 发布瓜人 Id 瓜名 瓜内容 评论点赞收藏数目 创建时间 更新时间
- 瓜圈表 瓜圈 id 瓜圈名 瓜圈简介 创建时间 更新时间
- 点赞表 主键 id 点赞人 id 点赞瓜 id 创建时间 更新时间
- 角色表 角色 id 角色名 创建时间 更新时间
- 用户表 用户 id 用户名 登录密码 是否记住密码 邮箱 昵称 头像 性别 生日 自我简介 创建时间 更新时间
设计规范
严格按照阿里巴巴规范,不使用外键 而在代码中使用代码逻辑关联表
使用 rbac 角色权限设计模式 通过另外加一个 role 表 用 user_role 表把 user 和对应的 role 挂勾
二、功能介绍
完成所有的基本功能和进阶需求
基本需求
- 用户可以注册账 、登陆账
- 用户可以查询、修改自己的个人信息(如用户名、个人信息等)、修改个人信息
- 管理员可以创建和删除瓜圈
- 用户和管理员可以发布事件(瓜),每个事件展示发布者、发布时间、内容
- 管理员可以删除自己管理的瓜圈内的事件,而用户只能删除自己发布的事件
- 用户可以评论事件,删除自己的评论
- 用户可以收藏、取消收藏事件,可以看自己收藏了的合集
进阶需求
- 使用 JavaFX 或 Swing 来进行图形化界面的展示
- 使用 Pull Request 合并代码
- 密码加密、实现记住密码功能
- 用户可以举 事件,由管理员进行处理
- 用户可以点赞、取消点赞事件,每个事件展示点赞数
- 用户查看自己点赞了的合集
- 事件发布者可以删除事件下所有的评论
- 事件进行分页展示
图形化界面使用 swing 用 MVC 设计模式进行代码分层 添加 DBCP 数据库连接池,封装 Dao 增删改查代码
三、演示
1.界面设计
欢迎界面
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8OGbP2TO-1654496328808)(https://www.writebug.com/myres/static/uploads/2022/6/3/78b41d24d642df3721f4a54a787a83f2.writebug)]
简洁美观 分为登录注册和游客模式
登录界面
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wVvZoJXF-1654496328811)(https://www.writebug.com/myres/static/uploads/2022/6/3/b04e1b45b3bfabbb0e64c57f0093457c.writebug)]
输入用户名,检测到上次记住密码的用户会自动填充密码
用户每次都可以选择是否记住密码
登录成功有欢迎信息
用户输入想要注册的用户名,程序实时反馈数据库中是否已经有了这个用户名
重置:清空
取消:返回
瓜 界面
显示当前瓜圈名 瓜圈简介 瓜圈里的所有瓜 分页处理 查询瓜的入口 点击查询直接跳转 在这个界面 用户管理员可以创建当前瓜圈瓜
瓜列表双击实现跳转
返回按钮:返回瓜
瓜界面
瓜内容
评论区
评论人 + 评论内容 + 评论时间
评论分页展示 可以选中后 按按钮查看详情
左下角直接放”我要评论的区域” 用户可以直接评论 发送后实时反馈到评论列表 删除评论 列表实时更新 瓜圈管理员可以清空评论
举 按钮跳转到举 界面(只能同时间只能单次举 ,待管理员处理后蔡可以重新举 )
返回:返回瓜圈
菜单栏
邮箱有格式限制
生日信息有日期合法性检测
用户名不可修改,其他都可以修改,每次可以改任意数量的信息
重置:重置回刚进入界面时的信息,重置完需要手动保存重置
返回:返回瓜
修改密码:跳转到修改密码界面
修改密码界面
旧密码:进行密码验证,验证旧密码是否输入正确
新密码:要求密码符合密码合法格式 密码 MD5 加密
确认密码:实时验证两次密码是否输入一致
返回:返回修改信息界面
菜单栏查询瓜圈界面
菜单栏查询瓜界面
同时段只能举 一次后等待管理员处理
举 处理界面
举 信息采用表格框
处理分为删除瓜(举 有效,直接删除瓜)和静默处理(举 无效,不理会,删除举 信息)
四、整体设计
MVC 设计模式分层
dao po service util view 分层
dao service 包括接口和接口实现类
-
dao 层放数据库相关操作的代码
一次只操作一张表 -
service 层 业务逻辑处理 封装 view 数据 处理 dao 抛出异常 进行代码连表 进行事务处理
-
po 层对应数据库的实体类
-
util 层包括 日期验证工具类 数据库连接类 JDBC 连接类 分页处理类 图像处理类 密码加密类 验证密码和验证邮箱的 String 类
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91405 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!