第28天管家的家庭会计软件

面向家庭主妇的第28天家政软件

第一章管家的家庭会计软件1。项目简介1.1。项目安排1.1.1。项目目标

这个项目是一个JAVAEE基础课的综合项目,包含了大量的知识点,从而综合运用基础课所学的知识,提高我们对项目的理解和知识点的应用。

精通视图层、服务层和道层之间的调用方法,

熟练的dbutils操作数据库表来完成添加、删除和修改

通过这个项目,让我们了解公司的项目开发流程,全面掌握项目需求分析、设计和功能代码实现。提高学生独立分析需求和实现功能的能力。

1.1.2.项目时间

这个项目是在两天的课程时间内完成的,一边说一边练。

1.2.项目功能分析1.2.1。项目演示1.2.2。项目功能介绍

查询账务多条件组合查询账务添加账务编辑账务删除账务

2.项目环境建设2.1。技术选择和罐子包装介绍

每个项目都必须使用一些成熟的技术,通常是一些专业组织或团队提供的开源、免费的技术。在以后的学习过程中,我们会逐渐了解这些专业组织。本项目使用的技术如下:

apache的commons组件: commons-dbutils-1.4.jar:封装并简化了JDBC; commons-dbcp-1.4.jar:apache commons提供的数据库连接池组件,命名为DBCP; commons.pool-1.3.jar:DBCP连接池依赖该jar包;mysql-connector-java-5.1.28-bin.jar:MySQL的JDBC驱动包,用JDBC连接MySQL数据库必须使用该JAR包。

2.2.工具介绍

每个项目都会用到一些工具类,这个项目也不例外。我们不会教你如何实现这些类,而是让你知道如何在项目中使用这些工具类。以下是本项目中使用的工具类及其介绍:

JDBCUtils:用来创建数据库连接池对象;

在项目实施过程中,我们会讲解工具类的使用,这里就不多介绍了。

JDBCUtils.java

publicclassJDBCUtils {

publicationstatifinString DRIVER _ CLaSS _ NAME = " com . MySQL . JDBC . DRIVER ";

publicationstatifinString URL = " JDBC:MySQL://localhost:3306/javahelp _ gjp ";

publicationstatifinString USERNAME = " root ";

publicationstatifinString PASSWORD = " root ";

privatestationbasicdatasource = new basicdatasource;

静态{

data source . setdriverclassname;

data source . setURl;

data source . set USERNAME;

data source . SetPassword;

}

publicationstaticdata source getdata source{

returndataSource

}

}

2.3.数据表创建

对于一个项目来说,表的设计非常重要,因为应用程序中的所有操作都是基于数据库表的,所以我们的第一步是创建数据库表。

管家项目的数据库设计非常简单。我们只需要找到gjp.sql文件并执行它。以下是用于创建库和表的SQL语句:

2.3.1.创建数据库

创建家庭主妇数据库gjp

CREATE DATABASE gjp

2.3.2.创建数据库表

创建会计表gjp _彰武

CREATETABLEgjp_zhangwu,

双倍的钱,

张虎·瓦尔查尔,

createtime DATE,

deion VARCHAR

);

2.3.3.添加表格数据

添加会计表数据

插入gjp _ zhangwu 值;

插入gjp _ zhangwu 值;

insertinggjp _ Zhang Wu价值观;

插入gjp _ zhangwu 值;

插入gjp _ zhangwu 值;

插入gjp _ zhangwu 值;

插入gjp _ zhangwu 值;

Insertintogjp _ zhangwu 价值观;

插入gjp _ zhangwu 值;

插入gjp _ zhangwu 值;

插入gjp _ zhangwu 值;

插入gjp _ zhangwu 值;

Insertiongjp _ zhangwu 值;

插入gjp _ zhangwu 值;

2.4.项目分层的作用

项目为什么要分包分层?

分析顾客在餐厅就餐的案例:

小餐馆:一个服务员就能搞定

大酒店:

迎宾员点菜员厨师

通过案例发现,程序小的时候,可以一个人完成;然而,当项目规模较大时,一个人很难完成。这时候就需要用多人合作来完成程序开发。

多人合作会遇到工作任务分配的问题。这时,我们会认为每个人都有责任完成项目的一部分。然后,这一块内容的划分需要我们通过分层来完成。

通过下图说明项目中常见的分层。

界面菜单的完成是项目编制的第一步。

我们通过输出语句输出界面菜单,然后根据输入的函数序号调用并执行相应的函数。

3.3.1.功能实现步骤

1编写MainView类的运行方法

1.1完成功能界面菜单显示

1.2接收键盘输入功能选项

1.3根据选项值,调用相应的函数方法

2写MainApp类的主要主方法

2.1调用MainView类中的run方法执行程序,显示函数界面菜单。

3.3.2.功能实现代码

1.在视图包的MainView类中编写运行方法

/**

*操作方法

*/

publicvoidrun {

/*

* 1.打印菜单2。获取用户输入3。调用相应的方法

*/

booleanflag = true

scanner in = Newscanner;

while {

系统。out . println;

System.out.println;

System.out.println;

intop = in . Nextint;

开关 {

案例1:

addZhangWu;

打破;

案例2:

editZhangWu;

打破;

案例3:

deleteZhangWu;

打破;

案例4:

selectZhangWu;

打破;

案例5:

System.out.println;

flag = false

打破;

默认:

System.out.println;

}

}

}

2.在应用程序包的MainApp类的main主方法中,调用MainView类中的run方法

public static void main{

newMainView。run;

}

3.4.查询所有帐户

3.7.1.功能分析

1在MainView类中编写edit彰武方法

1.1键盘输入编辑会计信息标识号

1.2键盘输入修改会计信息内容

1.3调用彰武服务类中的edit彰武方法,更新指定的会计信息

1.4更新完成后,使用输出语句提示“编辑账号成功!”

2在彰武Service类中编写edit彰武方法

2.1调用章五道类中的edit章五方法更新指定的会计信息

3写编辑章武法于章武道班

3.1通过QueryRunner对象,调用update方法更新数据库表gjp_zhangwu,完成数据库表中指定的会计更新操作

3.7.2.功能实现步骤

1.在MainView类中编写edit彰武方法

/**

*编辑会计方法

*/

publicationeditzhangwu{

/*

* 1.获取用户输入并将其打包到bean中。

* 2.调用服务的editZhangWu方法完成添加功能

*/

scanner in = Newscanner;

章武zw =章武;

System.out.print;

zw . SetzWid);

System.out.print;

zw . SetFlname);

System.out.print;

zw . setzhanghu);

System.out.print;

zw . SetMoney);

System.out.print;

zw . SetCreateTime);

System.out.print;

zw . SetDeion);

Zhang wuservice . edit Zhang Wu;

System.out.println;

}

2.在彰武Service类中编写edit彰武方法

/**

*编辑账户

* @paramzw

*/

public void edit Zhang Wu{

章五道.编辑章五;

}

3.在章无道课上写编辑章无法

/**

*编辑账户

* @paramzw

*/

public void edit Zhang Wu{

string SQL = " update gjp _ Zhang Wu set flname =?,钱=?,张虎=?,createtime=?,deion=?其中zwid=?”;

尝试{

Object params= {zw.getFlname、zw.getMoney、zw . getzhHu、zw.getCreatetime、zw.getDeion、zw . getzwid};

qr.update;

} catch {

throwNewRuntimeException;

}

}

3.8.删除帐户

3.8.1.功能分析

1在MainView类中编写deleteZhangWu方法

1.1键盘输入要删除的会计信息标识号

1.2在彰武服务类中调用delete彰武方法,删除指定的会计信息

1.3删除后,使用输出语句提示“账户删除成功!”

2在彰武服务类中编写write彰武方法

2.1调用章无道类中的删除章无方法删除指定的会计信息

3在章无道课上写删除章无法

3.1通过QueryRunner对象,调用update方法更新数据库表gjp_zhangwu,完成数据库表中指定的账户删除操作

3.8.2.功能实现步骤

1.在MainView类中编写deleteZhangWu方法

/**

*删除会计方法

*/

publicvoiddeleteZhangWu {

/*

* 1.获取用户输入并将其打包到bean中。

* 2.调用服务的deleteZhangWu方法完成添加功能

*/

scanner in = Newscanner;

System.out.print;

Zhang wuservice . deletezhang Wu);

System.out.println;

}

2.在彰武服务类中编写write彰武方法

/**

*删除账户

* @paramzwid

*/

public void deletezhangwu{

章无道.删除章无;

}

3.在章无道课上写删除章无法

/**

*删除账户

* @paramzwid

*/

public void deletezhangwu{

string SQL = " delete from gjp _ Zhang Wu其中zwid=?";

尝试{

qr.update;

} catch {

throwNewRuntimeException;

}

}

3.9.功能模块概述

恭喜,我们已经完成了分类模块的所有功能。通过分类模块功能的实现,您可能会发现以下问题:

难度大的地方:自行功能分析的能力欠缺,需要讲师来分析;代码实现: View(Controller):代码量最大; Service层:代码量最小; DAO层:相似度高,难度不大;

到目前为止,这是我们第一次写这么复杂的项目,所以没有练习过泛函分析的能力,所以第一次需要讲师来分析是很正常的。当我们不断练习的时候,自然可以用正确的思维方式去分析。

视图层的功能是“界面”,用于向用户显示数据。当前项目的视图层包含控制器层代码。

控制器层的作用是“调度”,调度表示层视图和业务层服务。主要功能如下:一、将表示层的数据交给业务层处理;二是将业务层返回的数据交给表示层显示。至于为什么View层有大量的代码,我在这里想说明的是,不是View层有大量的代码,而是其他层有少量的代码,所以你会觉得View层有大量的代码。

服务层的功能是“业务”,我们也可以把“业务”看成“功能”。

那么为什么服务层的代码这么少呢?原因是我们现在写的项目很小,没有复杂的业务。然而,未来大型项目的最大代码量是服务层。

DAO层是一个操作数据库,现在用commons-dbutils工具简化JDBC,发现代码很简单。最后,我们将学习DAO层的其他工具,如hibernate和mybatis,它们是JDBC简化JDBC的包。

1.《管家婆软件教程 第二十八天 管家婆家庭记账软件【悟空教程】》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《管家婆软件教程 第二十八天 管家婆家庭记账软件【悟空教程】》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guoji/1689130.html