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";