一、项目概述
项目名称:个人健康财务助手
主要功能:
·每日记录步数、睡眠时长、收支流水
·按日期范围查询历史记录
·导出CSV文件(支持Excel打开)
·统计图表展示(步数趋势、收支汇总)
·Log4j操作日志
技术栈:
·界面:Java Swing
·数据库:SQLite
·日志:Log4j2
·导出:OpenCSV
·开发工具:VSCode
二、项目截图





三、遇到的困难及解决方法
1.运行时报错显示“编译找不到类”:
代码检查无误却无法运行,发现MainApp依赖DatabaseUtil,编译时要同时输入两个类名
2.运行报错“SQL error near “transaction””:
表名没有书写错误,报错原因是transaction是SQLite的保留关键字,不能直接作表名,加上_record即可。
3.健康数据(睡眠时长和步数)如果分开录入,先录的会被覆盖为0:
程序把两项捆绑了,“INSERT OR REPLACE”会整条替换。我采用“先查后插”的方法,保存之前先查询,未录入的保留原值,录入后再更新,解绑两项。
4.选择收入和支出时分类下拉框的选项一样:
我没有根据类型动态改变分类,为类型下拉框添加监听器就能动态切换分类选项
5.CSV导出后Excel备注中的数据有的跑到下一列了:
这些错列的数据都是中间用逗号做了分隔符的,把每个字段都用双引号包裹起来就能解决这个问题
四、总结
通过这次课程设计,掌握了Java桌面应用开发的基本流程,学会了Swing、JDBC、SQLite、Log4j等技术的实际应用。最大的收获是独立完成了一个完整的项目,并学会了如何排查和解决问题。
