基于SSM框架下的JAVA家庭管家系统

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

今天记录的项目是家庭管家系统,这个项目是这么回事:随着科技的进步与经济的飞速发展,人们的工作量及工作压力越来越大,脑力负荷也随之剧增。但工作不是生活的全部,家庭生活也同样重要。一个人的精力有限,要同时掌握好工作和家庭、平衡两者,并不是件容易的事。这时如果有一个电子管家系统能帮助分担家庭方面的事务就再好不过了。基于此,本家庭管家系统应运而生。 该家庭管家系统是基于JAVA技术及mvc三层架构模式并通过MYeclipse在Windows平台上开发成功的。整个系统包括家庭理财、家庭记事、资产管理、密码管理、通讯录、提醒、系统和家庭相册八大模块。通过该系统,用户可以方便的查看、记录和管理家庭大小事务。 本文以软件工程开发流程为序,详细的描述了该家庭管家系统开发的完整的思路和实现过程。。
做这个项目的时候,我们需要用到SSM(MYECLIPSE)框架,开发工具选用最拿手的MYECLIPSE。
家庭管家系统项目是一个 后台项目。
开发系统时,需求分析是必不可少的一个环节。家庭管家系统拥有的登录角色包括了管理员、用户。
每个账号设置身份、账号、密码是必不可少的,管理员、用户中都包含这些登录角色该有的字段。
资产管理的存在是为了能更好的结合系统的功能。用户表的联系在这张表中得以体现,其关联关系为资产管理的用户与用户的mingzi字段对应、资产管理的用户id与用户的id字段对应
。在系统的功能中,记事本是一个重要的表。这个表使得用户关联了起来。在记事本表中记事本的用户与用户的mingzi字段对应、记事本的用户id与用户的id字段对应
,他们拥有关联关系。

总结得出该系统所有数据为:管理员(admin)、资产管理(zichanguanli)、用户(yonghu)、通讯录(tongxunlu)、记事本(jishiben)

管理员表

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

资产管理表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 资产管理id
shiyou | VARCHAR(255) | | 事由
shuoming | VARCHAR(255) | | 说明
jine | VARCHAR(255) | | 金额
shijian | VARCHAR(255) | | 时间
yonghu | VARCHAR(255) | | 用户
yonghuid | VARCHAR(255) | | 用户id

用户表

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

通讯录表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 通讯录id
mingzi | VARCHAR(255) | | 名字
dianhua | VARCHAR(255) | | 电话

记事本表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 记事本d
biaoti | VARCHAR(255) | | 标题
fabushijian | VARCHAR(255) | | 发布时间
neirong | VARCHAR(255) | | 内容
yonghu | VARCHAR(255) | | 用户
yonghuid | VARCHAR(255) | | 用户id
SET FOREIGN_KEY_CHECKS=0;

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

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

-- Table structure for ggjiatingguanjia

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

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

CREATE TABLE `t_zichanguanli` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '资产管理id',`shiyou` VARCHAR(255) DEFAULT NULL COMMENT '事由',`shuoming` VARCHAR(5000) DEFAULT NULL COMMENT '说明',`jine` VARCHAR(255) DEFAULT NULL COMMENT '金额',`shijian` VARCHAR(255) DEFAULT NULL COMMENT '时间',`yonghu` VARCHAR(255) DEFAULT NULL COMMENT '用户',`yonghuid` INT(11) DEFAULT NULL COMMENT '用户id',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',`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_tongxunlu`;

CREATE TABLE `t_tongxunlu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '通讯录id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`dianhua` VARCHAR(255) DEFAULT NULL COMMENT '电话',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='通讯录';

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

DROP TABLE IF EXISTS `t_jishiben`;

CREATE TABLE `t_jishiben` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '记事本d',`biaoti` VARCHAR(255) DEFAULT NULL COMMENT '标题',`fabushijian` VARCHAR(255) DEFAULT NULL COMMENT '发布时间',`neirong` VARCHAR(255) DEFAULT NULL COMMENT '内容',`yonghu` VARCHAR(255) DEFAULT NULL COMMENT '用户',`yonghuid` INT(11) DEFAULT NULL COMMENT '用户id',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='记事本';

添加记事本模块:

在jishibenController中定义tianjiajishibenact接收页面传入的记事本参数,定义为jishiben。其中jishiben包含字段:标题,发布时间,内容,用户,用户id,使用tianjiajishibenact将该记事本对象存入数据库中,在jishibenMapper中定义了insert方法,匹配数据库中的insert into jishiben语句实现将记事本数据存入数据库的操作。该部分核心代码如下:

通过jishibendao的insert方法将页面传输的记事本添加到数据库中 jishibendao.insert(jishiben);

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

返回记事本管理界面

return "forward:/tianjiajishiben.action";

查询记事本模块:

在后台中定义记事本查询模块,在侧边栏中点击记事本管理,可以跳转到记事本管理界面。在该页面中通过jishibenController中定义jishibenguanli响应记事本查询模块。在jishibenguanli中查询出所有信息,返回页面进行循环展示。查询方法为jishibendao中的selectByexample方法。该部分核心代码如下:

生成记事本样例类,通过example定义查询条件 JishibenExample example = new JishibenExample();

通过jishibendao的selectByExample方法查询出所有的记事本信息 List jishibenall = jishibendao.selectByExample(example);

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

返回记事本管理界面

return "forward:/jishibenguanli.action";

修改记事本模块:

在页面填写完修改信息后,点击修改按钮,将数据提交到xiugaijishiben中,封装为一个记事本

,使用update方法修改该记事本信息,将数据同步到数据库,完成修改操作。

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

通过jishibendao的修改方法根据id修改对应的记事本 jishibendao.updateByPrimaryKeySelective(jishiben);

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

返回记事本管理界面

return "forward:/jishibenguanli.action";

删除记事本模块:

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

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

通过jishibendao的删除方法根据id删除对应的记事本 jishibendao.deleteByPrimaryKey(id);

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

返回记事本管理界面

return "forward:/jishibenguanli.action";

猜你喜欢

转载自www.cnblogs.com/liyey/p/11593933.html