JAVA基于SSM框架的知识库管理系统
今天记录的项目是知识库管理系统,这个项目是这么回事:知识库管理系统(Knowledge base management system),又称数字资产管理系统(digital asset management system),主要是用来管理我们常用的一些知识文档、图纸、视频和音频等信息内容。。
做这个项目的时候,我们需要用到SSM(MYECLIPSE)框架,开发工具选用最拿手的MYECLIPSE。
知识库管理系统项目是一个 后台项目。
开发系统时,需求分析是必不可少的一个环节。知识库管理系统拥有的登录角色包括了管理员、用户。
每个账号设置身份、账号、密码是必不可少的,管理员、用户中都包含这些登录角色该有的字段。
总结得出该系统所有数据为:管理员(admin)、用户(yonghu)、种类(zhonglei)、资料上传(ziliaoshangchuan)
管理员表
- 字段名 | 类型 | 属性 | 描述
- id | INT(11) | PRIMARY KEY | 管理员id
- username | VARCHAR(255) | | 账号
- password | VARCHAR(255) | | 密码
用户表
- 字段名 | 类型 | 属性 | 描述
- id | INT(11) | PRIMARY KEY | 用户id
- xingming | VARCHAR(255) | | 姓名
- nianling | VARCHAR(255) | | 年龄
- xingbie | VARCHAR(255) | | 性别
- quanxian | VARCHAR(255) | | 权限
- zhiye | VARCHAR(255) | | 职业
- username | VARCHAR(255) | | 账号
- password | VARCHAR(255) | | 密码
种类表
- 字段名 | 类型 | 属性 | 描述
- id | INT(11) | PRIMARY KEY | 种类id
- wenxue | VARCHAR(255) | | 文学
- kexue | VARCHAR(255) | | 科学
- tiyu | VARCHAR(255) | | 体育
- shishang | VARCHAR(255) | | 时尚
- jingji | VARCHAR(255) | | 经济
- rengongzhineng | VARCHAR(255) | | 人工智能
资料上传表
- 字段名 | 类型 | 属性 | 描述
- id | INT(11) | PRIMARY KEY | 资料上传id
- shangchuanren | VARCHAR(255) | | 上传人
- shijian | VARCHAR(255) | | 时间
- neirong | VARCHAR(255) | | 内容
- zhonglei | VARCHAR(255) | | 种类
- leixing | VARCHAR(255) | | 类型
- SET FOREIGN_KEY_CHECKS=0;
- -- ----------------------------
- -- ----------------------------
- -- Table structure for ggzhishikuglxt
- -- ----------------------------
- DROP TABLE IF EXISTS `t_admin`;
- CREATE TABLE `t_admin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT \'管理员id\',`username` VARCHAR(255) DEFAULT NULL COMMENT \'账号\',`password` VARCHAR(255) DEFAULT NULL COMMENT \'密码\',PRIMARY KEY (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=\'管理员\';
- -- ----------------------------
- DROP TABLE IF EXISTS `t_yonghu`;
- CREATE TABLE `t_yonghu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT \'用户id\',`xingming` VARCHAR(255) DEFAULT NULL COMMENT \'姓名\',`nianling` VARCHAR(255) DEFAULT NULL COMMENT \'年龄\',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT \'性别\',`quanxian` VARCHAR(255) DEFAULT NULL COMMENT \'权限\',`zhiye` VARCHAR(255) DEFAULT NULL COMMENT \'职业\',`username` VARCHAR(255) DEFAULT NULL COMMENT \'账号\',`password` VARCHAR(255) DEFAULT NULL COMMENT \'密码\',PRIMARY KEY (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=\'用户\';
- -- ----------------------------
- DROP TABLE IF EXISTS `t_zhonglei`;
- CREATE TABLE `t_zhonglei` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT \'种类id\',`wenxue` VARCHAR(255) DEFAULT NULL COMMENT \'文学\',`kexue` VARCHAR(255) DEFAULT NULL COMMENT \'科学\',`tiyu` VARCHAR(255) DEFAULT NULL COMMENT \'体育\',`shishang` VARCHAR(255) DEFAULT NULL COMMENT \'时尚\',`jingji` VARCHAR(255) DEFAULT NULL COMMENT \'经济\',`rengongzhineng` VARCHAR(255) DEFAULT NULL COMMENT \'人工智能\',PRIMARY KEY (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=\'种类\';
- -- ----------------------------
- DROP TABLE IF EXISTS `t_ziliaoshangchuan`;
- CREATE TABLE `t_ziliaoshangchuan` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT \'资料上传id\',`shangchuanren` VARCHAR(255) DEFAULT NULL COMMENT \'上传人\',`shijian` VARCHAR(255) DEFAULT NULL COMMENT \'时间\',`neirong` VARCHAR(255) DEFAULT NULL COMMENT \'内容\',`zhonglei` VARCHAR(255) DEFAULT NULL COMMENT \'种类\',`leixing` VARCHAR(255) DEFAULT NULL COMMENT \'类型\',PRIMARY KEY (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=\'资料上传\';
添加资料上传模块:
通过添加资料上传模块,可以完成资料上传的添加操作。在页面中跳转到添加资料上传页面,输入资料上传的所有信息,点击添加操作,可以将资料上传数据以post提交到ziliaoshangchuanController中。资料上传所包含的字段信息包括上传人,时间,内容,种类,类型。在ziliaoshangchuanController中通过定义ziliaoshangchuan接受所有的资料上传参数。使用ziliaoshangchuandao的insert方法将ziliaoshangchuan实体插入到数据库中。完成数据的添加操作,在ziliaoshangchuanMapper中匹配对应的ziliaoshangchuanxml完成插入sql语句的执行操作。该部分核心代码如下:
通过ziliaoshangchuandao的insert方法将页面传输的资料上传添加到数据库中 ziliaoshangchuandao.insert(ziliaoshangchuan);
将添加资料上传成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute(“message”, “添加资料上传成功”);
返回资料上传管理界面
return “forward:/tianjiaziliaoshangchuan.action”;
查询资料上传模块:
在浏览器中进入资料上传查询页面时,此时浏览器的地址栏为ziliaoshangchuanguanli.action,该地址将响应ziliaoshangchuanController类中的ziliaoshangchuanguanli,在该方法中,通过selectByexample方法获取所有的资料上传信息,并将该信息保存到request中,在页面进行循环展示。该部分核心代码如下:
生成资料上传样例类,通过example定义查询条件 ZiliaoshangchuanExample example = new ZiliaoshangchuanExample();
通过ziliaoshangchuandao的selectByExample方法查询出所有的资料上传信息 List ziliaoshangchuanall = ziliaoshangchuandao.selectByExample(example);
将资料上传信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute(“ziliaoshangchuanall”, ziliaoshangchuanall);
返回资料上传管理界面
return “forward:/ziliaoshangchuanguanli.action”;
修改资料上传模块:
在页面填写完修改信息后,点击修改按钮,将数据提交到xiugaiziliaoshangchuan中,封装为一个资料上传
,使用update方法修改该资料上传信息,将数据同步到数据库,完成修改操作。
定义修改成功提示信息,修改资料上传成功,并保存到request中具体代码如下:
通过ziliaoshangchuandao的修改方法根据id修改对应的资料上传 ziliaoshangchuandao.updateByPrimaryKeySelective(ziliaoshangchuan);
将修改资料上传成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute(“message”, “修改资料上传信息成功”);
返回资料上传管理界面
return “forward:/ziliaoshangchuanguanli.action”;
删除资料上传模块:
在管理页面中,点击删除。页面将通过a标签的href属性,使用get方法将该资料上传
的id上传到服务器中,在服务器中通过ziliaoshangchuanController类中的shanchuziliaoshangchuan进行接收,之后调用ziliaoshangchuanMapper中的deleteByPrimaryKey方法根据ID进行删除。将删除信息保存到request的message中,在页面给出用户删除成功的提示信息,该部分核心代码如下:
通过ziliaoshangchuandao的删除方法根据id删除对应的资料上传 ziliaoshangchuandao.deleteByPrimaryKey(id);
将删除资料上传成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute(“message”, “删除资料上传成功”);
返回资料上传管理界面
return “forward:/ziliaoshangchuanguanli.action”;