每天记录学习,每天会有好心情。*^_^*
今天和一个朋友共同完成了一个社区图书馆管理系统的设计与实现项目,我们在开发时选用的框架是SSM(MYECLIPSE)框架。我这个朋友知识有限,只会这个框架,哈哈,都是为了方便他。和往常一样选用简单又便捷的MYECLIPSE作为开发工具,这是一个 后台项目。这个系统的介绍是这样的:随着时代的发展和科技的进步,人类知识量呈爆发式增长,大量书籍出版,图书馆规模也因此不断扩大。不仅如此,由于城市规模增长,人口众多,人们不再希望必须亲临图书馆才能查询书籍,进行续借等操作。为了管理大量图书,在员工精简的条件下为服务大量读者,提高管理效率,需要以信息化、网络化的图书馆管理系统代替传统的手工管理,利用计算机技术为读者服务。 社区图书馆规模较小,藏书量往往在数千至数万,可是传统的手工方式也已不能适应现代社会的需要。而与此同时,市面上现存的图书馆管理系统要么规模庞大、结构复杂、功能过多而冗余,要么价格超过社区图馆的承受能力。本文利用免费的JSP技术和MySQL数据库,针对社区图书馆的特殊需要,设计并实现了一套基于B/S模式的图书馆管理系统,同时满足功能精简、实用以及低成本的要求。,一个社区图书馆管理系统的设计与实现应包含用户角色有管理员、会员。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。
系统中社群、会员、社员之间具有较强的联系性。他们之间的关系为社员的社群与社群的mingcheng字段对应、社员的社群id与社群的id字段对应、社员的会员与会员的mingzi字段对应、社员的会员id与会员的id字段对应
。在社员表中可以体现出这种关系。
总结得出该系统所有数据为:管理员(admin)、社群(shequn)、社员(sheyuan)、会员(huiyuan)
管理员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码
社群表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 社群id mingcheng | VARCHAR(255) | | 名称
社员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 社员id shequn | VARCHAR(255) | | 社群 shequnid | VARCHAR(255) | | 社群id huiyuan | VARCHAR(255) | | 会员 huiyuanid | VARCHAR(255) | | 会员id
会员表
字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 会员id mingzi | VARCHAR(255) | | 名字 username | VARCHAR(255) | | 账号 password | VARCHAR(255) | | 密码 jieshao | VARCHAR(255) | | 介绍
SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- ---------------------------- -- Table structure for gg -- ---------------------------- 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_shequn`; CREATE TABLE `t_shequn` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '社群id',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '名称',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='社群'; -- ---------------------------- DROP TABLE IF EXISTS `t_sheyuan`; CREATE TABLE `t_sheyuan` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '社员id',`shequn` VARCHAR(255) DEFAULT NULL COMMENT '社群',`shequnid` INT(11) DEFAULT NULL COMMENT '社群id',`huiyuan` VARCHAR(255) DEFAULT NULL COMMENT '会员',`huiyuanid` INT(11) DEFAULT NULL COMMENT '会员id',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='社员'; -- ---------------------------- DROP TABLE IF EXISTS `t_huiyuan`; CREATE TABLE `t_huiyuan` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '会员id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`jieshao` VARCHAR(255) DEFAULT NULL COMMENT '介绍',PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='会员';
添加社群模块:
在shequnController中定义tianjiashequnact接收页面传入的社群参数,定义为shequn。其中shequn包含字段:名称,使用tianjiashequnact将该社群对象存入数据库中,在shequnMapper中定义了insert方法,匹配数据库中的insert into shequn语句实现将社群数据存入数据库的操作。该部分核心代码如下:
通过shequndao的insert方法将页面传输的社群添加到数据库中 shequndao.insert(shequn);
将添加社群成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加社群成功");
返回社群管理界面
return "forward:/tianjiashequn.action";
查询社群模块:
社群的查询模块实现方式为,在页面中发起shequnguanli.action请求。通过该请求,响应服务器shequnController类中的shequnguanli,在该方法中通过selectByexample进行数据的查询操作。将所有的社群信息查询后,保存到request中的shequnall中,在页面中进行展示,返回shequnguanli.jsp,该部分核心代码如下所示:
生成社群样例类,通过example定义查询条件 ShequnExample example = new ShequnExample();
通过shequndao的selectByExample方法查询出所有的社群信息 List shequnall = shequndao.selectByExample(example);
将社群信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("shequnall", shequnall);
返回社群管理界面
return "forward:/shequnguanli.action";
修改社群模块:
在页面填写完修改信息后,点击修改按钮,将数据提交到xiugaishequn中,封装为一个社群
,使用update方法修改该社群信息,将数据同步到数据库,完成修改操作。
定义修改成功提示信息,修改社群成功,并保存到request中具体代码如下:
通过shequndao的修改方法根据id修改对应的社群 shequndao.updateByPrimaryKeySelective(shequn);
将修改社群成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改社群信息成功");
返回社群管理界面
return "forward:/shequnguanli.action";
删除社群模块:
在管理页面中,点击删除。页面将通过a标签的href属性,使用get方法将该社群
的id上传到服务器中,在服务器中通过shequnController类中的shanchushequn进行接收,之后调用shequnMapper中的deleteByPrimaryKey方法根据ID进行删除。将删除信息保存到request的message中,在页面给出用户删除成功的提示信息,该部分核心代码如下:
通过shequndao的删除方法根据id删除对应的社群 shequndao.deleteByPrimaryKey(id);
将删除社群成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除社群成功");
返回社群管理界面
return "forward:/shequnguanli.action";