今天记录的项目是球员管理系统,这个项目是这么回事:足球运动员的身体素质训练内容较多,科目繁杂,对于青少年来说应该根据其成长阶段和身体特点制定适应其个体特质的训练方案。比较基础的训练科目有力量、速度、耐力、心理机能训练等。而具体到耐力训练又有许多不同的方法,常见的比如持续法和间歇法。又比如有氧耐力训练中的持续负荷法、重复训练法、高原训练法、交替跑训练等。训练的科目繁多,合理的安排并记录运动员的训练内容对制定科学的训练计划,针对球员身体素质变化即时调整训练计划具有十分重要的作用。目前在青少年运动训练管理中教练员或者陪练员一般都是采取“一锅煮”的方式对所有运动员进行管理,偶尔会针对个别素质突出的运动员进行加强训练。在球员的训练记录方面也比较粗糙,或者采取阶段性记录的方式。而通过信息化的方式管理足球运动员的训练信息,对于球员,尤其是青少年球员和教练员都是能有效提高效率的选择。利用计算机技术建立的足球运动员训练管理系统可以对球员的个人信息进行管理,对教练员管理信息进行管理,对球员的训练内容进行记录,针对青少年运动员,还可以通过系统建立教练与球员家长的沟通渠道。。
做这个项目的时候,我们需要用到SSM(MYECLIPSE)框架,开发工具选用最拿手的MYECLIPSE。
球员管理系统项目是一个 后台项目。
开发系统时,需求分析是必不可少的一个环节。球员管理系统拥有的登录角色包括了管理员、用户。
每个账号设置身份、账号、密码是必不可少的,管理员、用户中都包含这些登录角色该有的字段。
总结得出该系统所有数据为:管理员(admin)、用户(yonghu)、球员信息(qiuyuanxinxi)、教练信息(jiaolianxinxi)
管理员表
字段名 | 类型 | 属性 |描述
id| INT(11) | PRIMARY KEY |管理员id
username| VARCHAR(255) | |账号
password| VARCHAR(255) | | 密码
用户表
字段名 | 类型 | 属性 |描述
id| INT(11) | PRIMARY KEY |用户id
xingming| VARCHAR(255) | |姓名
nianling| VARCHAR(255) | |年龄
xingbuie| VARCHAR(255) | |性别
zhiwu| VARCHAR(255) | |职务
quanxian| VARCHAR(255) | |权限
username| VARCHAR(255) | |账号
password| VARCHAR(255) | | 密码
球员信息表
字段名 | 类型 | 属性 |描述
id| INT(11) | PRIMARY KEY |球员信息id
xingming| VARCHAR(255) | |姓名
nianling| VARCHAR(255) | |年龄
shentisuzhi| VARCHAR(255) | |身体素质
xingbie| VARCHAR(255) | |性别
lianxifangshi| VARCHAR(255) | | 联系方式
教练信息表
字段名 | 类型 | 属性 |描述
id| INT(11) | PRIMARY KEY |教练信息id
xingming| VARCHAR(255) | |姓名
xingbie| VARCHAR(255) | |性别
lianxifangshi| VARCHAR(255) | |联系方式
nianling| VARCHAR(255) | | 年龄
SET FOREIGN_KEY_CHECKS=0;------------------------------
------------------------------
--Table structure for ggqiuyuanguanlixit
------------------------------
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 '年龄',`xingbuie` VARCHAR(255) DEFAULT NULL COMMENT '性别',`zhiwu` VARCHAR(255) DEFAULT NULL COMMENT '职务',`quanxian` 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_qiuyuanxinxi`;CREATE TABLE `t_qiuyuanxinxi` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '球员信息id',`xingming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',`shentisuzhi` VARCHAR(255) DEFAULT NULL COMMENT '身体素质',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',`lianxifangshi` VARCHAR(255) DEFAULT NULL COMMENT '联系方式',PRIMARY KEY(`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='球员信息';------------------------------
DROP TABLE IF EXISTS`t_jiaolianxinxi`;CREATE TABLE `t_jiaolianxinxi` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '教练信息id',`xingming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',`xingbie` VARCHAR(255) DEFAULT NULL COMMENT '性别',`lianxifangshi` VARCHAR(255) DEFAULT NULL COMMENT '联系方式',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',PRIMARY KEY(`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='教练信息';
添加球员信息模块:
从页面中通过post方法,将球员信息信息传入到后台服务器中,在tianjiaqiuyuanxinxiact
中接收,字段包括姓名,年龄,身体素质,性别,联系方式使用insert方法添加数据,将数据同步到
数据库中,完成添加操作。定义添加成功提示信息,添加球员信息成功,并保存到request中具体代码如下:
通过qiuyuanxinxidao的insert方法将页面传输的球员信息添加到数据库中 qiuyuanxinxidao.insert(qiuyuanxinxi);
将添加球员信息成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加球员信息成功");
返回球员信息管理界面
return "forward:/tianjiaqiuyuanxinxi.action";
查询球员信息模块:
球员信息的查询模块实现方式为,在页面中发起qiuyuanxinxiguanli.action请求。通过该请求,响应服务器qiuyuanxinxiController类中的qiuyuanxinxiguanli,在该方法中通过selectByexample进行数据的查询操作。将所有的球员信息信息查询后,保存到request中的qiuyuanxinxiall中,在页面中进行展示,返回qiuyuanxinxiguanli.jsp,该部分核心代码如下所示:
生成球员信息样例类,通过example定义查询条件 QiuyuanxinxiExample example = new QiuyuanxinxiExample();
通过qiuyuanxinxidao的selectByExample方法查询出所有的球员信息信息 List qiuyuanxinxiall = qiuyuanxinxidao.selectByExample(example);
将球员信息信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("qiuyuanxinxiall", qiuyuanxinxiall);
返回球员信息管理界面
return "forward:/qiuyuanxinxiguanli.action";
修改球员信息模块:
在页面完成球员信息的修改信息填写后,将该部分数据传入xiugaiqiuyuanxinxi.action地址,并通过post进行提交。提交后在qiuyuanxinxiController中通过xiugaiqiuyuanxinxi进行接收,将所有字段封装为一个球员信息实体。并将该实体传入qiuyuanxinxidao中的updateByPrimaryKeySelective方法中,在该方法中定义了通过球员信息id更新其余球员信息的字段,该部分字段包括姓名,年龄,身体素质,性别,联系方式,该部分核心代码如下所示:
通过qiuyuanxinxidao的修改方法根据id修改对应的球员信息 qiuyuanxinxidao.updateByPrimaryKeySelective(qiuyuanxinxi);
将修改球员信息成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改球员信息信息成功");
返回球员信息管理界面
return "forward:/qiuyuanxinxiguanli.action";
删除球员信息模块:
在管理页面中,点击删除。页面将通过a标签的href属性,使用get方法将该球员信息
的id上传到服务器中,在服务器中通过qiuyuanxinxiController类中的shanchuqiuyuanxinxi进行接收,之后调用qiuyuanxinxiMapper中的deleteByPrimaryKey方法根据ID进行删除。将删除信息保存到request的message中,在页面给出用户删除成功的提示信息,该部分核心代码如下:
通过qiuyuanxinxidao的删除方法根据id删除对应的球员信息 qiuyuanxinxidao.deleteByPrimaryKey(id);
将删除球员信息成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除球员信息成功");
返回球员信息管理界面
return "forward:/qiuyuanxinxiguanli.action";