每天记录学习,每天会有好心情。*^_^*
最近了解了校友录项目,在这个平台记录一下这个校友录项目,方便以后再次使用或学习的时候能够及时的翻阅。在完成这个项目的时候,考虑了很多框架。最终决定选用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";