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

四 系统实现

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

相关推荐
Yvemil72 分钟前
《开启微服务之旅:Spring Boot 从入门到实践》(三)
java
Anna。。4 分钟前
Java入门2-idea 第五章:IO流(java.io包中)
java·开发语言·intellij-idea
一个程序员_zhangzhen13 分钟前
sqlserver新建用户并分配对视图的只读权限
数据库·sqlserver
zfj32116 分钟前
学技术学英文:代码中的锁:悲观锁和乐观锁
数据库·乐观锁··悲观锁·竞态条件
吴冰_hogan18 分钟前
MySQL InnoDB 存储引擎 Redo Log(重做日志)详解
数据库·oracle
.生产的驴25 分钟前
SpringBoot 对接第三方登录 手机号登录 手机号验证 微信小程序登录 结合Redis SaToken
java·spring boot·redis·后端·缓存·微信小程序·maven
爱上语文27 分钟前
宠物管理系统:Dao层
java·开发语言·宠物
nbsaas-boot34 分钟前
探索 JSON 数据在关系型数据库中的应用:MySQL 与 SQL Server 的对比
数据库·mysql·json
cmdch201736 分钟前
Mybatis加密解密查询操作(sql前),where要传入加密后的字段时遇到的问题
数据库·sql·mybatis
程序员学习随笔37 分钟前
PostgreSQL技术内幕21:SysLogger日志收集器的工作原理
数据库·postgresql