java计算机毕业设计基于springboo+vue的个人家庭理财记账管理系统

196 篇文章 5 订阅
25 篇文章 0 订阅

项目介绍

随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。
本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个开发过程首先对家庭理财记账系统进行需求分析,得出家庭理财记账系统主要功能。接着对家庭理财记账系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括家庭理财记账系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对家庭理财记账系统进行了功能测试,并对测试结果进行了分析总结,得出家庭理财记账系统存在的不足及需要改进的地方,为以后的家庭理财记账系统维护提供了方便,同时也为今后开发类似家庭理财记账系统提供了借鉴和帮助。
家庭理财记账系统开发使系统能够更加方便快捷,同时也促使家庭理财记账系统变的更加系统化、有序化。系统界面较友好,易于操作。

功能介绍

在这里插入图片描述
家庭理财记账系统从功能、数据流程、可行性、运行环境进行需求分析。对家庭理财记账系统的数据库、功能进行了详细设计,分析了主要界面设计和相关组件设计,家庭理财记账系统的具体实现进行了介绍。从数据库中获取数据、向数据库中写入数据,实现系统直接对数据库进行各种数据库查询、插入、删除、更新等操作,在网页中加入动态内容,从而实现家庭理财记账系统所需要的各种基本功能。

家庭理财记账系统用户端要求在浏览器上可以运行,主要实现了管理端;首页、个人中心、用户管理、家庭账户管理、收入分类管理、支出分类信息管理、家庭收入管理、家庭支出管理、银行储蓄管理、系统管理、投资理财管理,用户端;首页、家庭账户管理、收入分类管理、银行储蓄管理、投资理财管理等主要功能模块的操作和管理。

开发环境

java计算机毕业设计基于springboo+vue的个人家庭理财记账管理系统
开发语言:Java+mysql+vue
开发工具:IDEA /Eclipse
数据库:MYSQL5.7
应用服务:Tomcat7/Tomcat8
使用框架:ssm+vue
可定制框架:ssm/Springboot/vue/python/PHP/小程序/安卓均可开发

系统截图

本系统使用了java和mysql结合的结构开发了家庭理财记账系统应用,系统中所有和数据库有关系的操作都通过一个通用类来实现,大大提高了代码的耦合性,当数据库类型等信息变化后直接修改类文件就可以了,不再需要每个页面都修改。另外本系统解决了中文的问题,也是在配置文件中添加了编码方式的形式解决的,本系统另外一个大的特点是系统对数据库的操作都单独的写在了一个类里,这样对系统的所有数据库操作都只访问这个类就可以了,不要每个页面都去写数据库的操作,提高了系统的集成性。

登录界面

管理员输入个人的用户名、密码和角色登录系统,这时候系统的数据库就会在进行查找相关的信息,如果我们输入的用户名、密码和角色不正确,数据库就会提示出错误的信息提示,同时会提示管理员重新输入自己的用户名、密码、角色,直到账号密码输入成功后,会提登录成功的信息。管理员登录效果图如图
请添加图片描述

家庭收入管理

通过填写用户名,用户姓名,账户号,收入分类,金额,日期,备注等信息进行详情、修改、删除操作,如图
请添加图片描述

家庭支出管理

通过填写用户名,用户姓名,账户号,支出分类,金额,日期,备注等信息进行详情、修改操作,如图
在这里插入图片描述

银行结算

刚结算主要是针对用户的活期和定期存款而进行开发的,主要包括用户名,用户。的姓名,存储的类型,银行的名称,银行账号,金额,存入时间等相关信息
请添加图片描述

投资理财

管理人员和用户可以对自己的投资理财相关内容进行管理,主要包括用户名,用户姓名,投资类型。投资账号,投资的金额以及投资时间和备注的内容。
请添加图片描述
摘 要 III
Abstract 1
1 系统概述 2
1.1 概述 3
1.2课题意义 4
1.3 主要内容 5
2 系统开发环境 6
2.1B/S架构 6
2.2系统框架以及目录结构介绍 6
2.3 JAVA简介 7
2.4 MySQL数据库 7
2.5 SpringBoot框架 7
3 需求分析 8
3.1 系统设计目标 8
3.2需求分析概述 9
3.3 系统可行性分析 9
3.4经济可行性 10
3.5操作可行性: 11
3.6系统流程和逻辑 12
4系统概要设计 13
4.1 概述 14
4.2 系统结构 15
4.3. 数据库设计 16
4.3.1 数据库设计表 18
5系统详细设计 18
5.1用户端功能模块 19
5.2管理端功能模块 20
6 系统测试 21
6.1 测试理论 21
6.2 测试方法及用例 22
6.3测试结果 24
结论 25
致 谢 26
参考文献 27

核心代码

/**
 * 家庭收入
 * 后端接口
 */
@RestController
@RequestMapping("/jiatingshouru")
public class JiatingshouruController {
    @Autowired
    private JiatingshouruService jiatingshouruService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,JiatingshouruEntity jiatingshouru,
		HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			jiatingshouru.setYonghuming((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<JiatingshouruEntity> ew = new EntityWrapper<JiatingshouruEntity>();
		PageUtils page = jiatingshouruService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiatingshouru), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,JiatingshouruEntity jiatingshouru, HttpServletRequest request){
        EntityWrapper<JiatingshouruEntity> ew = new EntityWrapper<JiatingshouruEntity>();
		PageUtils page = jiatingshouruService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiatingshouru), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( JiatingshouruEntity jiatingshouru){
       	EntityWrapper<JiatingshouruEntity> ew = new EntityWrapper<JiatingshouruEntity>();
      	ew.allEq(MPUtil.allEQMapPre( jiatingshouru, "jiatingshouru")); 
        return R.ok().put("data", jiatingshouruService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(JiatingshouruEntity jiatingshouru){
        EntityWrapper< JiatingshouruEntity> ew = new EntityWrapper< JiatingshouruEntity>();
 		ew.allEq(MPUtil.allEQMapPre( jiatingshouru, "jiatingshouru")); 
		JiatingshouruView jiatingshouruView =  jiatingshouruService.selectView(ew);
		return R.ok("查询家庭收入成功").put("data", jiatingshouruView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        JiatingshouruEntity jiatingshouru = jiatingshouruService.selectById(id);
        return R.ok().put("data", jiatingshouru);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        JiatingshouruEntity jiatingshouru = jiatingshouruService.selectById(id);
        return R.ok().put("data", jiatingshouru);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody JiatingshouruEntity jiatingshouru, HttpServletRequest request){
    	jiatingshouru.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(jiatingshouru);
        jiatingshouruService.insert(jiatingshouru);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody JiatingshouruEntity jiatingshouru, HttpServletRequest request){
    	jiatingshouru.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(jiatingshouru);
        jiatingshouruService.insert(jiatingshouru);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody JiatingshouruEntity jiatingshouru, HttpServletRequest request){
        //ValidatorUtils.validateEntity(jiatingshouru);
        jiatingshouruService.updateById(jiatingshouru);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        jiatingshouruService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }

结论

家庭理财记账系统的设计,通过互联网来解决实现信息化的网站系统,通过我四年所学的所有专业知识整合一起,进行对家庭理财记账系统进行开发设计,当然在真正着手来做的时候遇到了很多问题,一个是网站的技术问题,一个是自己之前没有单独开发过程序,动手实践比较少,面对问题的同时,自己的自信心也受到了一些打击,不过我也是快速的调整自己的状态,老师与同学讨论的方法解决了所有的困难。
毕业设计是我们所学知识应用的最佳体现,也是在考核我们四年中所学的所有的专业知识及技术应用情况,通过这样毕业设计可以更好的得到锻炼及对所学知识的复习及运用,也是一种训练和实践。家庭理财记账系统的实现,不仅巩固了我以前的知识,还对学到的知识通过结合技术进行详细了解,还结合了对跨学科效果的深入理解。
在以后我的工作中,我仍然会继续努力我的计算机方面的技术,让我在后期的平台开发中可以更好更快的实现需求功能。我相信自己可以胜任更多的好工作并在工作领域做出更大的贡献。
回顾毕业设计的整个过程,既付出了努力与汗水也收获了很多难以忘怀的美好经历。虽然在系统开发过程中经历了各种各样的困难,自己也在不断研究与探索,可是系统的实现仍有许多不足之处。但是经过系统编程工作让我有了更多的信心,我相信在未来的路上,我会走的更好。

java语言写的android系统,用于个人账目管理,课程设计上写的欢迎下载 package moneymanager.moneymanager; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; /* * * 데이터베이스를 관리하는 클래스입니다. * */ public class DBAdapter { private static final String TAG = "NotesDbAdapter"; private DatabaseHelper mDbHelper; private SQLiteDatabase mDb; // 데이터베이스이름과 테블이름들을 정의 private static final String DATABASE_NAME = "MoneyManagerDB"; private static final int DATABASE_VERSION = 2; private static final String DATABASE_SETTING_TABLE = "SettingTbl"; private static final String DATABASE_BADGET_TABLE = "BadgetTbl"; private static final String DATABASE_PAYMENT_TABLE = "PaymentTbl"; // 테블안의 항목들을 정의 public static final String KEY_SETTINGTBL_ID = "ID"; public static final String KEY_SETTINGTBL_NAME = "Name"; public static final String KEY_SETTINGTBL_VALUE = "Value"; public static final String KEY_BADGETTBL_ID = "ID"; public static final String KEY_BADGETTBL_ITEM = "Item"; public static final String KEY_BADGETTBL_MONEY = "Money"; public static final String KEY_PAYMENTTBL_ID = "ID"; public static final String KEY_PAYMENTTBL_BADGETID = "BadgetID"; public static final String KEY_PAYMENTTBL_OUTDATE = "OutDate"; public static final String KEY_PAYMENTTBL_MONEY = "Money"; public static final String KEY_PAYMENTTBL_NOTE = "Note"; private final Context mCtx; private static class DatabaseHelper extends SQLiteOpenHelper { DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { String strCreateTbl; // SettingTbl생성 strCreateTbl = "CREATE TABLE " + DATABASE_SETTING_TABLE + " (" + KEY_SETTINGTBL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_SETTINGTBL_NAME + " TEXT NOT NULL, " + KEY_SETTINGTBL_VALUE + " TEXT NOT NULL);"; db.execSQL(strCreateTbl); // BadgetTbl생성 strCreateTbl = "CREATE TABLE " + DATABASE_BADGET_TABLE + " (" + KEY_BADGETTBL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_BADGETTBL_ITEM + " TEXT NOT NULL, " + KEY_BADGETTBL_MONEY + " INTEGER NOT NULL);"; db.execSQL(strCreateTbl); // PaymentTbl생성 strCreateTbl = "CREATE TABLE " + DATABASE_PAYMENT_TABLE + " (" + KEY_PAYMENTTBL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_PAYMENTTBL_BADGETID + " INTEGER NOT NULL, " + KEY_PAYMENTTBL_OUTDATE + " TEXT NOT NULL, " + KEY_PAYMENTTBL_MONEY + " INTEGER NOT NULL, " + KEY_PAYMENTTBL_NOTE + " TEXT);"; db.execSQL(strCreateTbl); } ......
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wqq6310855

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值