每天记录学习,每天会有好心情。*^_^*

最近了解了校友录项目,在这个平台记录一下这个校友录项目,方便以后再次使用或学习的时候能够及时的翻阅。在完成这个项目的时候,考虑了很多框架。最终决定选用SSM(MYECLIPSE),该框架具有极强的移植性,多平台性,便于操作性等优点。此框架能在MYECLIPSE开发工具中完美的编写和运行,校友录为一个 后台项目。这个项目的描述是这样的:提出使用MVC模式构建校友录系统的解决方案。阐述了Strust2框架技术,运用Hibernet框架理论和相关技术,并结合采用J2EE技术构建一个基于MVC模式的校友录系统。重点介绍了权限管理、上传下载模块、资源发布管理这3大关键技术模块的设计与实现。解决了技术与内容的瓶颈、开发维护好友管理、系统统一管理等问题。
在对校友录项目进行需求分析的时候,得出系统的登录角色包括了管理员、校友。对应用户可以通过登录自己的账号,进行入系统。系统对不同角色拥有不同权限。
系统中校友、文章之间具有较强的联系性。他们之间的关系为文章的发布者与校友的migzi字段对应、文章的发布者id与校友的id字段对应
。在文章表中可以体现出这种关系。

总结得出该系统所有数据为:管理员(admin)、校友(xiaoyou)、文章(wenzhang)

管理员表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 管理员id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

校友表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 校友id
mingzi | VARCHAR(255) | | 名字
lianxifangshi | VARCHAR(255) | | 联系方式
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
xuexiao | VARCHAR(255) | | 学校
banji | VARCHAR(255) | | 班级
jieshao | VARCHAR(255) | | 介绍

文章表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 文章id
biaoti | VARCHAR(255) | | 标题
neirong | VARCHAR(255) | | 内容
fabushijian | VARCHAR(255) | | 发布时间
xuexiao | VARCHAR(255) | | 学校
fabuzhe | VARCHAR(255) | | 发布者
fabuzheid | VARCHAR(255) | | 发布者id
SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- ----------------------------

-- Table structure for ggxiaoyoulu

-- ----------------------------

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_xiaoyou`;

CREATE TABLE `t_xiaoyou` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '校友id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`lianxifangshi` VARCHAR(255) DEFAULT NULL COMMENT '联系方式',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`xuexiao` VARCHAR(255) DEFAULT NULL COMMENT '学校',`banji` VARCHAR(255) DEFAULT NULL COMMENT '班级',`jieshao` VARCHAR(5000) DEFAULT NULL COMMENT '介绍',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='校友';

-- ----------------------------

DROP TABLE IF EXISTS `t_wenzhang`;

CREATE TABLE `t_wenzhang` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '文章id',`biaoti` VARCHAR(255) DEFAULT NULL COMMENT '标题',`neirong` VARCHAR(5000) DEFAULT NULL COMMENT '内容',`fabushijian` VARCHAR(255) DEFAULT NULL COMMENT '发布时间',`xuexiao` VARCHAR(255) DEFAULT NULL COMMENT '学校',`fabuzhe` VARCHAR(255) DEFAULT NULL COMMENT '发布者',`fabuzheid` INT(11) DEFAULT NULL COMMENT '发布者id',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='文章';

添加校友模块:

在xiaoyouController中定义tianjiaxiaoyouact接收页面传入的校友参数,定义为xiaoyou。其中xiaoyou包含字段:名字,联系方式,账号,密码,学校,班级,介绍,使用tianjiaxiaoyouact将该校友对象存入数据库中,在xiaoyouMapper中定义了insert方法,匹配数据库中的insert into xiaoyou语句实现将校友数据存入数据库的操作。该部分核心代码如下:

通过xiaoyoudao的insert方法将页面传输的校友添加到数据库中 xiaoyoudao.insert(xiaoyou);

将添加校友成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加校友成功");

返回校友管理界面

return "forward:/tianjiaxiaoyou.action";

查询校友模块:

在后台xiaoyouguanli方法中,通过selectByexample方法获取所有的数据信息。将其保存到request中,在页面中通过foreach方法

进行循环展示到table中。完成校友查询操作。具体代码如下:

生成校友样例类,通过example定义查询条件 XiaoyouExample example = new XiaoyouExample();

通过xiaoyoudao的selectByExample方法查询出所有的校友信息 List xiaoyouall = xiaoyoudao.selectByExample(example);

将校友信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("xiaoyouall", xiaoyouall);

返回校友管理界面

return "forward:/xiaoyouguanli.action";

修改校友模块:

在页面填写完修改信息后,点击修改按钮,将数据提交到xiugaixiaoyou中,封装为一个校友

,使用update方法修改该校友信息,将数据同步到数据库,完成修改操作。

定义修改成功提示信息,修改校友成功,并保存到request中具体代码如下:

通过xiaoyoudao的修改方法根据id修改对应的校友 xiaoyoudao.updateByPrimaryKeySelective(xiaoyou);

将修改校友成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改校友信息成功");

返回校友管理界面

return "forward:/xiaoyouguanli.action";

删除校友模块:

删除校友功能的实现方式为,通过点击删除校友按钮,向服务器发起get请求。请求中包含校友的id信息,在xiaoyouController中使用int接受该id,并将该id传入xiaoyoudao的deleteByPrimaryKey方法中。该方法的作用为根据id删除对应校友。最后将删除校友成功的信息返回页面,该部分核心代码如下:

通过xiaoyoudao的删除方法根据id删除对应的校友 xiaoyoudao.deleteByPrimaryKey(id);

将删除校友成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除校友成功");

返回校友管理界面

return "forward:/xiaoyouguanli.action";

01-22 18:56