java SSM家庭财务管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点

java SSM家庭财务管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,spring+springMVC+mybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代

码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。

java ssm 家庭财务管理系统

二、功能介绍

通过对需求进行分析,家庭财务管理系统包括用户信息管理、基础数据信息管理、收支信息管理、项目信息管理、借还款信息管理。

1)用户管理模块笔记用户信息该模块主要用于系统的用户管理,其中主要包括系统用户的登录和注册以及管理员添加用户、用户编辑个人信息等部分。

2)收支管理模块

家庭管理员登陆进入家庭财务管理系统可以根据实际需要添加收入信息、编辑收入信息、添加支出信息、编辑支出信息,删除信息

3)存储管理模块

家庭系统管理员进入家庭财务管理系统可以根据实际需要选择定期存储信息和活期存储信息管理。

4)借还款管理模块

家庭系统管理员进入家庭财务管理系统可以根据实际需要点击添加借入、添加借出进入相应页面进行管理。

5)基本数据管理模块

在基本数据管理模块中,管理员登陆财务管理系统可以对收入、支出、家庭信息、家庭称呼信息、家庭活期账号信息、家庭定期账号信息等基本数据进行分析管理。

数据库设计

(1)用户信息表如表3.1所示:

表3.1 用户信息表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | yhid | INTEGER | 11 | 是 | 用户编号 |
| 2 | yhm | VARCHAR | 40 | 否 | 用户名 |
| 3 | mm | VARCHAR | 40 | 否 | 密码 |
| 4 | xm | VARCHAR | 40 | 否 | 姓名 |
| 5 | lxdh | VARCHAR | 40 | 否 | 联系电话 |
| 6 | lxdz | VARCHAR | 40 | 否 | 联系地址 |
| 7 | qx | VARCHAR | 40 | 否 | 权限 |
| 8 | ch | VARCHAR | 40 | 否 | 称呼 |

(2)项目信息表如表3.2所示:

表3.2 项目信息表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | xmid | INTEGER | 11 | 是 | 项目编号 |
| 2 | xm | VARCHAR | 40 | 否 | 项目 |
| 3 | lx | VARCHAR | 40 | 否 | 类型 |

(3)收入信息表如表3.3所示:

表3.3收入信息表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | srid | INTEGER | 11 | 是 | 收入编号 |
| 2 | rq | VARCHAR | 40 | 否 | 日期 |
| 3 | xm | VARCHAR | 40 | 否 | 项目 |
| 4 | je | VARCHAR | 40 | 否 | 金额 |
| 5 | yh | VARCHAR | 40 | 否 | 用户 |
| 6 | sj | VARCHAR | 40 | 否 | 时间 |

(4)支出信息表如表3.4所示:

表3.4 支出信息表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | zcid | INTEGER | 11 | 是 | 支出编号 |
| 2 | rq | VARCHAR | 40 | 否 | 日期 |
| 3 | xm | VARCHAR | 40 | 否 | 项目 |
| 4 | je | VARCHAR | 40 | 否 | 金额 |
| 5 | yh | VARCHAR | 40 | 否 | 用户 |
| 6 | sj | VARCHAR | 40 | 否 | 时间 |

(5)借款信息表如表3.5所示:

表3.5 借款信息表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | jkid | INTEGER | 11 | 是 | 借款编号 |
| 2 | rq | VARCHAR | 40 | 否 | 日期 |
| 3 | sm | VARCHAR | 40 | 否 | 说明 |
| 4 | jkje | VARCHAR | 40 | 否 | 借款金额 |
| 5 | jkr | VARCHAR | 40 | 否 | 借款人 |
| 6 | jksj | VARCHAR | 40 | 否 | 借款时间 |

(6)还款信息表如表3.6所示:

表3.6 还款信息表

|----|------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | hkid | INTEGER | 11 | 是 | 还款编号 |
| 2 | rq | VARCHAR | 40 | 否 | 日期 |
| 3 | sm | VARCHAR | 40 | 否 | 说明 |
| 4 | hkje | VARCHAR | 40 | 否 | 还款金额 |
| 5 | hkr | VARCHAR | 40 | 否 | 还款人 |
| 6 | hksj | VARCHAR | 40 | 否 | 还款时间 |

(7)卡折信息表如表3.7所示:

表3.7 卡折信息表

|----|--------|---------|----|----|--------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | kzxxid | INTEGER | 11 | 是 | 卡折信息编号 |
| 2 | mc | VARCHAR | 40 | 否 | 名称 |
| 3 | kh | VARCHAR | 40 | 否 | 卡号 |
| 4 | mm | VARCHAR | 40 | 否 | 密码 |
| 5 | yh | VARCHAR | 40 | 否 | 用户 |
| 6 | djsj | VARCHAR | 40 | 否 | 登记时间 |

系统ER图

系统功能图

控制类

@RequestMapping(value="/add")
	public String add(jiekuan jiekuan,HttpServletRequest request){
		Map<String,Object> map= new HashMap<String,Object>();
		//String name=(String)request.getParameter("name");

		map.put("jkid", jiekuan.getJkid());//借款编号

		map.put("rq", jiekuan.getRq());//日期

		map.put("sm", jiekuan.getSm());//说明

		map.put("jkje", jiekuan.getJkje());//借款金额

		map.put("jkr", jiekuan.getJkr());//借款人

		map.put("jksj", jiekuan.getJksj());//借款时间



		String jkid=(String)jiekuan.getJkid();//借款编号

		String rq=(String)jiekuan.getRq();//日期

		String sm=(String)jiekuan.getSm();//说明

		String jkje=(String)jiekuan.getJkje();//借款金额

		String jkr=(String)jiekuan.getJkr();//借款人

		String jksj=(String)jiekuan.getJksj();//借款时间

		jiekuandao.save(map);
		
		
		request.setAttribute("msg", "<script>alert('添加成功');</script>");
		System.out.println("addok");
		return "jiekuan/jiekuanadd";
	}
	
	/**删除 
	 * 
	 */
	@RequestMapping(value="/del")
	public String  del(Integer id,HttpServletRequest request,Map<String,Object> map){
	//	Map<String,Object> map= new HashMap<String,Object>();
		String a=(String)request.getParameter("keyid");
		id=Integer.parseInt(a);
		request.setAttribute("msg", "<script>alert('删除成功');</script>");
		jiekuandao.del(id);
		return selectall(null,map,request);
	}
	/**
	 * 修改jiekuan信息
	 */
	@RequestMapping(value="/update")
	public String update(jiekuan jiekuan,HttpServletRequest request,Map<String,Object> map1){
		Map<String,Object> map= new HashMap<String,Object>();
		map.put("jkid", jiekuan.getJkid());//借款编号

		map.put("rq", jiekuan.getRq());//日期

		map.put("sm", jiekuan.getSm());//说明

		map.put("jkje", jiekuan.getJkje());//借款金额

		map.put("jkr", jiekuan.getJkr());//借款人

		map.put("jksj", jiekuan.getJksj());//借款时间



		String jkid=(String)jiekuan.getJkid();//借款编号

		String rq=(String)jiekuan.getRq();//日期

		String sm=(String)jiekuan.getSm();//说明

		String jkje=(String)jiekuan.getJkje();//借款金额

		String jkr=(String)jiekuan.getJkr();//借款人

		String jksj=(String)jiekuan.getJksj();//借款时间

		request.setAttribute("msg", "<script>alert('修改成功');</script>");
		jiekuandao.update(map);
		return selectall(null,map1,request);
	}
	/**
	 * 查询jiekuan信息
	 */
	@RequestMapping(value="/modify")
	public String modify(Integer id,Map<String,Object> map,HttpServletRequest request){
		String keyid=(String)request.getParameter("keyid");
		List<Map<String,Object>> list= new  ArrayList<Map<String,Object>>();
		list=jiekuandao.select(Integer.parseInt(keyid));
		request.setAttribute("jkid", list.get(0).get("jkid"));//借款编号

		request.setAttribute("rq", list.get(0).get("rq"));//日期

		request.setAttribute("sm", list.get(0).get("sm"));//说明

		request.setAttribute("jkje", list.get(0).get("jkje"));//借款金额

		request.setAttribute("jkr", list.get(0).get("jkr"));//借款人

		request.setAttribute("jksj", list.get(0).get("jksj"));//借款时间

		
		return "jiekuan/jiekuanmodify";
	}

持久层类

 */
	public void save(Map<String, Object> map) {
		sqlSession.insert("com.jiekuan.insertjiekuan", map);
		
	}
	/**
	 * 删除aa
	 * @param id
	 */
	public void del(Integer id) {
		sqlSession.delete("com.jiekuan.deljiekuan", id);
	}

	/**
	 * 修改jiekuan信息
	 * @param map
	 */
	public void update(Map<String, Object> map) {
		sqlSession.update("com.jiekuan.updatejiekuan", map);
	}

	/**
	 * 查询jiekuan信息
	 * @param id
	 * @return 
	 */
	public List<Map<String, Object>> select(Integer id) {
		return sqlSession.selectList("com.jiekuan.selectjiekuan", id) ; 
	}
	/**
	 * 查询jiekuan信息
	 * 
	 * @return 
	 */
	public List<Map<String, Object>> selectAll(Map<String, Object> map) {
		return sqlSession.selectList("com.jiekuan.selectall", map) ; 
	}

mybaits类

<insert id="insertjiekuan"  parameterType="java.util.Map">
 insert  into  jiekuan(rq,sm,jkje,jkr,jksj)  values(#{rq},#{sm},#{jkje},#{jkr},#{jksj})
</insert>

<delete id="deljiekuan" parameterType="int">
 delete  from  jiekuan where jkid=#{jkid}
</delete>

<update id="updatejiekuan" parameterType="java.util.Map">
update jiekuan set rq=#{rq},sm=#{sm},jkje=#{jkje},jkr=#{jkr},jksj=#{jksj} where jkid=#{jkid}
</update>

<!--  查询返回的是 list<map> -->
<!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectjiekuan"  parameterType="int" resultType="java.util.Map">
  select  * from jiekuan where jkid=#{jkid}
</select>

<!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectall"  parameterType="java.util.Map" resultType="java.util.Map">
  select  * from jiekuan where 1=1
<if test=" null != rq and rq!=''" >
 and rq = #{rq}
</if>
<if test=" null != sm and sm!=''" >
 and sm = #{sm}
</if>
<if test=" null != jkje and jkje!=''" >
 and jkje = #{jkje}
</if>
<if test=" null != jkr and jkr!=''" >
 and jkr = #{jkr}
</if>
<if test=" null != jksj and jksj!=''" >
 and jksj = #{jksj}
</if>

</select>

三、注意事项

1、管理员账号:admin 密码:admin 数据库配置文件datasource.properties

2、开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。

3、数据库文件名是jspssmjtcw.sql,系统名称ssmjtcw

4、系统首页地址:http://127.0.0.1:8080/ssmjtcw/login.jsp

四 系统实现

源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

相关推荐
生信摆渡22 分钟前
R语言-快速对多个变量取交集
开发语言·数据库·r语言
AiFlutter35 分钟前
Java实现简单的搜索引擎
java·搜索引擎·mybatis
虚拟网络工程师1 小时前
【网络系统管理】Centos7——配置主从mariadb服务器案例(下半部分)
运维·服务器·网络·数据库·mariadb
飞升不如收破烂~1 小时前
Spring boot常用注解和作用
java·spring boot·后端
福如意如我心意1 小时前
PostGres命令【常用维护,增删改查】
数据库·postgresql·psql
秦老师Q1 小时前
Java基础第九章-Java集合框架(超详细)!!!
java·开发语言
计算机毕设源码qq-38365310411 小时前
(附项目源码)Java开发语言,215 springboot 大学生爱心互助代购网站,计算机毕设程序开发+文案(LW+PPT)
java·开发语言·spring boot·mysql·课程设计
ashane13141 小时前
Java list
java·windows·list
袁庭新1 小时前
Cannal实现MySQL主从同步环境搭建
java·数据库·mysql·计算机·java程序员·袁庭新
无尽的大道1 小时前
深入理解 Java 阻塞队列:使用场景、原理与性能优化
java·开发语言·性能优化