基于JAVA的B/S实验室预约系统

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

今日思考,完成一个实验室预约系统项目,需要实现哪些功能?
此类项目常见描述如下:
以JAVA为开发环境、MYSQL为数据库,采用B/S模式下的三层体系结构,在数据访问层实现多个数据库的连接,构建出基于B/S模式的实验室预约系统.该系统大大提升了高校实验室管理工作的效率和质量.
SSM(MYECLIPSE)框架及其适合本类项目,使用MVC的思想可以极大程度减少重复工作量。和SSM(MYECLIPSE)框架最配的开发工具是MYECLIPSE。MYECLIPSE集成了大量插件,可以更好的使用SSM(MYECLIPSE)进行项目的开发,使得项目开发时事半功倍。
通过对实验室预约系统系统的仔细分析,可以得出实验室预约系统系统是一个 后台项目。
在这样一个项目中,系统的登录角色是必不可少的,对每个登录角色设置账号、密码。以确保系统可以正常登录使用。SSM(MYECLIPSE)项目中包含的登录角色有管理员、学生。
系统中学生、实验室之间存在关联关系,我们将其关联关系保存在预约表中。他们的关联关系是这样的预约的学生与学生的nicheng字段对应、预约的学生id与学生的id字段对应、预约的实验室与实验室的mingzi字段对应、预约的实验室id与实验室的id字段对应

总结得出该系统所有数据为:管理员(admin)、学生(xuesheng)、预约(yuyue)、实验室(shiyanshi)

管理员表

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

学生表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 学生id
nicheng | VARCHAR(255) | | 昵称
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码
zhuanye | VARCHAR(255) | | 专业

预约表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 预约id
xuesheng | VARCHAR(255) | | 学生
xueshengid | VARCHAR(255) | | 学生id
shiyanshi | VARCHAR(255) | | 实验室
shiyanshiid | VARCHAR(255) | | 实验室id
yuyueshijian | VARCHAR(255) | | 预约时间

实验室表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 实验室id
mingzi | VARCHAR(255) | | 名字
jieshao | VARCHAR(255) | | 介绍
didian | VARCHAR(255) | | 地点
fuzeren | VARCHAR(255) | | 负责人
lianxifangshi | VARCHAR(255) | | 联系方式
扫描二维码关注公众号,回复: 7377052 查看本文章
SET FOREIGN_KEY_CHECKS=0;

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

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

-- Table structure for ggshiyanshiyuyue

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

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

CREATE TABLE `t_xuesheng` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '学生id',`nicheng` VARCHAR(255) DEFAULT NULL COMMENT '昵称',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',`zhuanye` VARCHAR(255) DEFAULT NULL COMMENT '专业',PRIMARY KEY (`id`)

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

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

DROP TABLE IF EXISTS `t_yuyue`;

CREATE TABLE `t_yuyue` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '预约id',`xuesheng` VARCHAR(255) DEFAULT NULL COMMENT '学生',`xueshengid` INT(11) DEFAULT NULL COMMENT '学生id',`shiyanshi` VARCHAR(255) DEFAULT NULL COMMENT '实验室',`shiyanshiid` INT(11) DEFAULT NULL COMMENT '实验室id',`yuyueshijian` VARCHAR(255) DEFAULT NULL COMMENT '预约时间',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='预约';

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

DROP TABLE IF EXISTS `t_shiyanshi`;

CREATE TABLE `t_shiyanshi` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '实验室id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`jieshao` VARCHAR(255) DEFAULT NULL COMMENT '介绍',`didian` VARCHAR(255) DEFAULT NULL COMMENT '地点',`fuzeren` VARCHAR(255) DEFAULT NULL COMMENT '负责人',`lianxifangshi` VARCHAR(255) DEFAULT NULL COMMENT '联系方式',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='实验室';

添加实验室模块:

通过添加实验室模块,可以完成实验室的添加操作。在页面中跳转到添加实验室页面,输入实验室的所有信息,点击添加操作,可以将实验室数据以post提交到shiyanshiController中。实验室所包含的字段信息包括名字,介绍,地点,负责人,联系方式。在shiyanshiController中通过定义shiyanshi接受所有的实验室参数。使用shiyanshidao的insert方法将shiyanshi实体插入到数据库中。完成数据的添加操作,在shiyanshiMapper中匹配对应的shiyanshixml完成插入sql语句的执行操作。该部分核心代码如下:

通过shiyanshidao的insert方法将页面传输的实验室添加到数据库中 shiyanshidao.insert(shiyanshi);

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

返回实验室管理界面

return "forward:/tianjiashiyanshi.action";

查询实验室模块:

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

生成实验室样例类,通过example定义查询条件 ShiyanshiExample example = new ShiyanshiExample();

通过shiyanshidao的selectByExample方法查询出所有的实验室信息 List shiyanshiall = shiyanshidao.selectByExample(example);

将实验室信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("shiyanshiall", shiyanshiall);

返回实验室管理界面

return "forward:/shiyanshiguanli.action";

修改实验室模块:

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

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

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

通过shiyanshidao的修改方法根据id修改对应的实验室 shiyanshidao.updateByPrimaryKeySelective(shiyanshi);

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

返回实验室管理界面

return "forward:/shiyanshiguanli.action";

删除实验室模块:

在管理页面中,点击删除。页面将通过a标签的href属性,使用get方法将该实验室

的id上传到服务器中,在服务器中通过shiyanshiController类中的shanchushiyanshi进行接收,之后调用shiyanshiMapper中的deleteByPrimaryKey方法根据ID进行删除。将删除信息保存到request的message中,在页面给出用户删除成功的提示信息,该部分核心代码如下:

通过shiyanshidao的删除方法根据id删除对应的实验室 shiyanshidao.deleteByPrimaryKey(id);

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

返回实验室管理界面

return "forward:/shiyanshiguanli.action";

猜你喜欢

转载自www.cnblogs.com/rt14/p/11598842.html
今日推荐