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

今天和一个朋友共同完成了一个基于web的java选排课系统项目,我们在开发时选用的框架是SSM(MYECLIPSE)框架。我这个朋友知识有限,只会这个框架,哈哈,都是为了方便他。和往常一样选用简单又便捷的MYECLIPSE作为开发工具,基于web的java选排课系统是一个 后台项目。课程表是一个院校日常教学工作的“指挥表”,是具体实施教学计划的重要组成部分,是教学管理的关键环节。如何科学合理地编排课程表 是每个学校教学管理的一项重要工作。因而开发一套符合实际需求的高校排课系统是非常必要的。采用当前非常流行的B/S体系结构,以JAVA作为开发技术,主要依赖SSM技术框架,mysql数据库建立本系统。
一个基于web的java选排课系统应包含用户角色有管理员、老师、学生。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。
课程联系了老师,通过关联使得老师之间建立了联系,加强了系统的实用性和便捷性。增强了用户体验。他们之间的关联关系是课程的任课老师与老师的mingzi字段对应、课程的任课老师id与老师的id字段对应
。系统中课程、学生之间存在关联关系,我们将其关联关系保存在选课记录表中。他们的关联关系是这样的选课记录的课程与课程的mingcheng字段对应、选课记录的课程id与课程的id字段对应、选课记录的学生与学生的mingzi字段对应、选课记录的学生id与学生的id字段对应

总结得出基于web的java选排课系统项目所有数据为:管理员(admin)、老师(laoshi)、学生(xuesheng)、课程(kecheng)、选课记录(xuankejilu)

基于web的java选排课系统之管理员表

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

基于web的java选排课系统之老师表

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

基于web的java选排课系统之学生表

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

基于web的java选排课系统之课程表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 课程id
mingcheng | VARCHAR(255) | | 名称
shangkeshijian | VARCHAR(255) | | 上课时间
renkelaoshi | VARCHAR(255) | | 任课老师
renkelaoshiid | VARCHAR(255) | | 任课老师id
shifoukexuan | VARCHAR(255) | | 是否可选
kexuanrenshu | VARCHAR(255) | | 可选人数
yixuanrenshu | VARCHAR(255) | | 已选人数

基于web的java选排课系统之选课记录表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 选课记录id
kecheng | VARCHAR(255) | | 课程
kechengid | VARCHAR(255) | | 课程id
xuesheng | VARCHAR(255) | | 学生
xueshengid | VARCHAR(255) | | 学生id
xuankeshijian | VARCHAR(255) | | 选课时间
SET FOREIGN_KEY_CHECKS=0;

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

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

-- Table structure for ggjywebdjavaxpkxt

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

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

CREATE TABLE `t_laoshi` (`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 '密码',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='老师';

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

DROP TABLE IF EXISTS `t_xuesheng`;

CREATE TABLE `t_xuesheng` (`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 '密码',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='学生';

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

DROP TABLE IF EXISTS `t_kecheng`;

CREATE TABLE `t_kecheng` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '课程id',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '名称',`shangkeshijian` VARCHAR(255) DEFAULT NULL COMMENT '上课时间',`renkelaoshi` VARCHAR(255) DEFAULT NULL COMMENT '任课老师',`renkelaoshiid` INT(11) DEFAULT NULL COMMENT '任课老师id',`shifoukexuan` VARCHAR(255) DEFAULT NULL COMMENT '是否可选',`kexuanrenshu` VARCHAR(255) DEFAULT NULL COMMENT '可选人数',`yixuanrenshu` VARCHAR(255) DEFAULT NULL COMMENT '已选人数',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='课程';

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

DROP TABLE IF EXISTS `t_xuankejilu`;

CREATE TABLE `t_xuankejilu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '选课记录id',`kecheng` VARCHAR(255) DEFAULT NULL COMMENT '课程',`kechengid` INT(11) DEFAULT NULL COMMENT '课程id',`xuesheng` VARCHAR(255) DEFAULT NULL COMMENT '学生',`xueshengid` INT(11) DEFAULT NULL COMMENT '学生id',`xuankeshijian` VARCHAR(255) DEFAULT NULL COMMENT '选课时间',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='选课记录';

添加选课记录模块:

系统中存在添加选课记录功能,通过点击添加选课记录可以跳转到该功能模块,在该功能模块中,填写对应的选课记录信息。选课记录包含信息课程,课程id,学生,学生id,选课时间,填写完所有信息后,通过post方法将数据提交到tianjiaxuankejilu.action中,该地址将在服务器中xuankejiluController类中的tianjiaxuankejiluact方法中进行响应。响应结果为,获取所有的选课记录信息,封装一个xuankejilu类,使用xuankejiluController类中定义的xuankejiludao的insert方法,将选课记录数据插入到数据库的xuankejilu表中。并给出用户提示信息,添加选课记录成功,将该信息保存到request的message中,该信息将在页面中进行展示。该部分核心代码如下:

通过xuankejiludao的insert方法将页面传输的选课记录添加到数据库中 xuankejiludao.insert(xuankejilu);

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

返回选课记录管理界面

return "forward:/tianjiaxuankejilu.action";

查询选课记录模块:

在浏览器中进入选课记录查询页面时,此时浏览器的地址栏为xuankejiluguanli.action,该地址将响应xuankejiluController类中的xuankejiluguanli,在该方法中,通过selectByexample方法获取所有的选课记录信息,并将该信息保存到request中,在页面进行循环展示。该部分核心代码如下:

生成选课记录样例类,通过example定义查询条件 XuankejiluExample example = new XuankejiluExample();

通过xuankejiludao的selectByExample方法查询出所有的选课记录信息 List xuankejiluall = xuankejiludao.selectByExample(example);

将选课记录信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("xuankejiluall", xuankejiluall);

返回选课记录管理界面

return "forward:/xuankejiluguanli.action";

修改选课记录模块:

点击修改按钮,可以跳转到选课记录修改页面。在选课记录修改页面中,将初始化该选课记录的所有信息,并将信息一一对应填充到对应编辑栏中。编辑完选课记录信息后,页面通过post方法将数据封装为一个选课记录实体,传入到xuankejiluController中。在xiugaixuankejilu中进行接收,接收完毕后,调用xuankejiluMapper中的updateByPrimaryKeySelective方法进行修改。该部分代码如下:

通过xuankejiludao的修改方法根据id修改对应的选课记录 xuankejiludao.updateByPrimaryKeySelective(xuankejilu);

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

返回选课记录管理界面

return "forward:/xuankejiluguanli.action";

删除选课记录模块:

删除选课记录功能实现在xuankejiluController中,实现方法为shanchuxuankejilu。在页面中通过get方法shanchuxuankejilu.action?Id的形式将需要删除的选课记录id上传到服务器中,响应对应的方法,调用xuankejiludao中的deleteByPrimaryKey方法,完成删除操作。将删除成功的提示信息返回到页面中,完成删除数据的操作。该部分核心代码:

通过xuankejiludao的删除方法根据id删除对应的选课记录 xuankejiludao.deleteByPrimaryKey(id);

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

返回选课记录管理界面

return "forward:/xuankejiluguanli.action";

源码下载

01-20 18:59