首页 > 技术文章 > 基于SSM框架的JAVA家庭理财系统

mlxbc 2019-09-25 21:42 原文

在学习家庭理财系统的设计与实现项目的时候,方便日后能及时查阅,在本平台中记录一下该项目的开发流程。在学习时候的选用了SSM(MYECLIPSE),这个框架不论是学习还是使用都非常方便,简单易上手。是我们学习编程可以重点学习的一个框架,我在开发家庭理财系统的设计与实现项目的时候选用了MYECLIPSE来搭建SSM(MYECLIPSE)框架,最终将家庭理财系统的设计与实现项目开发为了一个 后台项目。
该项目具有的用户角色包括了管理员、用户,每个角色都含有自己的登录账号和密码。

总结得出该系统所有数据为:管理员(admin)、用户(yonghu)、日常收支(richangshouzhi)、债务(zhaiwu)

管理员表

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

 

用户表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 用户id
xingming | VARCHAR(255) | | 姓名
nianling | VARCHAR(255) | | 年龄
xingbie | VARCHAR(255) | | 性别
quanxian | VARCHAR(255) | | 权限
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

 

日常收支表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 日常收支id
gongzishouru | VARCHAR(255) | | 工资收入
qitashouru | VARCHAR(255) | | 其他收入
shenghuokaizhi | VARCHAR(255) | | 生活开支
qitakaizhi | VARCHAR(255) | | 其他开支

 

债务表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 债务id
zhaizhu | VARCHAR(255) | | 债主
jine | VARCHAR(255) | | 金额
shijian | VARCHAR(255) | | 时间

 

 

SET FOREIGN_KEY_CHECKS=0;

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

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

-- Table structure for ggjiatinglicaixitongdsjysx

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

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 '年龄',`xingbie` 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_richangshouzhi`;

CREATE TABLE `t_richangshouzhi` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '日常收支id',`gongzishouru` VARCHAR(255) DEFAULT NULL COMMENT '工资收入',`qitashouru` VARCHAR(255) DEFAULT NULL COMMENT '其他收入',`shenghuokaizhi` VARCHAR(255) DEFAULT NULL COMMENT '生活开支',`qitakaizhi` VARCHAR(255) DEFAULT NULL COMMENT '其他开支',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='日常收支';

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

DROP TABLE IF EXISTS `t_zhaiwu`;

CREATE TABLE `t_zhaiwu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '债务id',`zhaizhu` VARCHAR(255) DEFAULT NULL COMMENT '债主',`jine` VARCHAR(255) DEFAULT NULL COMMENT '金额',`shijian` VARCHAR(255) DEFAULT NULL COMMENT '时间',PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='债务';

 

 

添加日常收支模块:

系统中存在添加日常收支功能,通过点击添加日常收支可以跳转到该功能模块,在该功能模块中,填写对应的日常收支信息。日常收支包含信息工资收入,其他收入,生活开支,其他开支,填写完所有信息后,通过post方法将数据提交到tianjiarichangshouzhi.action中,该地址将在服务器中richangshouzhiController类中的tianjiarichangshouzhiact方法中进行响应。响应结果为,获取所有的日常收支信息,封装一个richangshouzhi类,使用richangshouzhiController类中定义的richangshouzhidao的insert方法,将日常收支数据插入到数据库的richangshouzhi表中。并给出用户提示信息,添加日常收支成功,将该信息保存到request的message中,该信息将在页面中进行展示。该部分核心代码如下:

通过richangshouzhidao的insert方法将页面传输的日常收支添加到数据库中 richangshouzhidao.insert(richangshouzhi);

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

返回日常收支管理界面

return "forward:/tianjiarichangshouzhi.action";

查询日常收支模块:

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

生成日常收支样例类,通过example定义查询条件 RichangshouzhiExample example = new RichangshouzhiExample();

通过richangshouzhidao的selectByExample方法查询出所有的日常收支信息 List richangshouzhiall = richangshouzhidao.selectByExample(example);

将日常收支信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("richangshouzhiall", richangshouzhiall);

返回日常收支管理界面

return "forward:/richangshouzhiguanli.action";

修改日常收支模块:

对已经上传的日常收支信息可以进行修改操作,该部分操作在日常收支管理界面中点击修改按钮可以跳转到日常收支修改页面。在修改页面中,将初始化所有的日常收支字段信息,字段信息包括工资收入,其他收入,生活开支,其他开支。字段信息内容通过日常收支id获取。修改后的信息传入到richangshouzhiController中接收为richangshouzhi。在richangshouzhiController中包含有提前定义好的richangshouzhidao,该参数为richangshouzhiMapper是实现。richangshouzhiMapper中定义了修改方法,此处使用修改方法为updateByPrimaryKeySelective,该方法可以将修改后信息同步到数据库中,最终将修改成功信息返回页面中。该部分代码如下:

通过richangshouzhidao的修改方法根据id修改对应的日常收支 richangshouzhidao.updateByPrimaryKeySelective(richangshouzhi);

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

返回日常收支管理界面

return "forward:/richangshouzhiguanli.action";

删除日常收支模块:

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

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

通过richangshouzhidao的删除方法根据id删除对应的日常收支 richangshouzhidao.deleteByPrimaryKey(id);

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

返回日常收支管理界面

return "forward:/richangshouzhiguanli.action";

推荐阅读