1. 需求分析
《问答系统》主要实现问题的提问功能以及管理员对问题的回答,具体需求包括如下:
-
登录功能
在用户使用《问答系统》平台之前是需要登录的,只有通过账号和密码登录成功才可以使用平台中的各种功能。
-
用户注册
一个新用户在数据中是没有账号的,所以在使用系统之前需要注册。
-
主页面
当用户登录成功之后首先进入的页面,这个主页面包括用户的登录信息,用户的剩余提问次数,提问功能的入口以及查看当前用户的提问记录。
-
我要提问
用户可以通过“我要提问”功能实现问题的提交操作,包括问题的提问者,提问标题,提问内容,提问时间等。
-
我的问题
用户可以查看自己的所有问题,包括已答和未答的信息,并且按照时间顺序从近及远的顺序排列,提供每个问题的详细入口,支持问题记录显示的分页功能。
-
问题详细
查看当前用户的当前问题的详细信息,包括问题的内容,问题的提问时间,问题的回答状态以及回答者和回答时间。
-
回答问题
当管理员进入问题详细的时候,能使用回答功能,写入问题的回答内容并且提交回答。
2. 项目版本
为了能让大家学到各种技术,我们设计了同一个项目有3个不同的版本。
-
gui 界面版
javase+jdbc+mysql
-
web 应用版
html+css+js+servlet+jsp+ajax
-
ssm 框架版
vue+springmvc+spring+mybatis+springboot
3. 数据库设计
3.1 数据库 “qasysdb” E-R设计图

3.2 userbase用户基本表
| 字段名 | 数据类型 | 长度 | 默认值 | 主键 | 外键 | 注释 |
|---|---|---|---|---|---|---|
| id | int | 11 | √ | 编号 | ||
| role | char | 1 | 0 | 角色 | ||
| tel | varchar | 11 | 手机号码 | |||
| pwd | varchar | 20 | 用户密码 | |||
| name | varchar | 5 | 用户名字 | |||
| num | int | 11 | 3 | 访问次数 | ||
| regdate | datetime | 注册日期 | ||||
| enddate | datetime | 最后登录日期 |
/*Table structure for table `userbase` */
DROP TABLE IF EXISTS `userbase`;
CREATE TABLE `userbase` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`role` char(1) COLLATE utf8_unicode_ci DEFAULT '0',
`tel` varchar(11) COLLATE utf8_unicode_ci DEFAULT NULL,
`pwd` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
`name` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL,
`num` int(11) DEFAULT '3',
`regdate` datetime DEFAULT NULL,
`enddate` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
3.3 question问题表
| 字段名 | 数据类型 | 长度 | 默认值 | 主键 | 外键 | 注释 |
|---|---|---|---|---|---|---|
| id | int | 11 | √ | 编号 | ||
| title | varchar | 20 | 0 | 标题 | ||
| content | text | 内容 | ||||
| flag | varchar | 5 | 未答 | 回答状态 | ||
| userid | varchar | 11 | √ | 用户编号 | ||
| answer | text | 3 | 回答内容 | |||
| pubdate | datetime | 发布日期 | ||||
| answerdate | datetime | 回答日期 |
/*Table structure for table `question` */
DROP TABLE IF EXISTS `question`;
CREATE TABLE `question` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`content` text,
`flag` varchar(5) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT '未答',
`userid` int(11) DEFAULT NULL,
`answer` text CHARACTER SET utf8 COLLATE utf8_unicode_ci,
`pubdate` datetime DEFAULT NULL,
`answerdate` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `userid` (`userid`),
CONSTRAINT `question_ibfk_1` FOREIGN KEY (`userid`) REFERENCES `userbase` (`id`) ON DELETE SET NULL ON UPDATE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
完整课程内容:
开发学习中常见问题:
实战项目演练:
更多资料请关注微信公众号 《java微课程》
本文介绍了零基础小白如何自学Java并构建问答系统项目。主要内容包括需求分析,如用户登录、注册、提问和回答功能;项目版本规划,包括GUI界面、Web应用和SSM框架三个版本;以及数据库设计,详细讲解了E-R图、userbase用户表和question问题表的设计。此外,还提供了完整的学习路线和常见问题解答。

973

被折叠的 条评论
为什么被折叠?



