在视图层,我们看到有不同的数字代表不同的功能,我们以其中一个为例,添加编辑为例:

方法为editZhangWu()方法,代码如下:

private void editZhangWu() {Scanner sc = new Scanner(System.in);System.out.println("请输入ID号");int id = sc.nextInt();System.out.println("请输入新的账务类别");String flname = sc.next();System.out.println("请输入新的花费金额");double money = sc.nextDouble();System.out.println("请输入新的时间");String createtime = sc.next();System.out.println("请输入新的花费详细描述");String dest = sc.next();ZhangWu z = new ZhangWu(id,flname,money,createtime,dest);controller.editZhangWu(z);System.out.println("账务编辑成功!");}

当用户选择编辑账务是,运行此方法,用户输入信息,然后接受,把他们存为ZhangWu类List,调用控制层ediyZhangWu方法。

我们看控制层方法:

package com.fei.gj.controller;import java.util.List;import com.fei.gj.domain.ZhangWu;
import com.fei.gj.service.ZhangWuService;/*** 控制器,把view层的数据传递给service层* @author fei**/
public class ZhangWuController {private ZhangWuService service = new ZhangWuService();//   查询所有账务public List<ZhangWu> selectAll(){return service.selectAll();}
//  条件查询public List<ZhangWu> selectTo(String startDate,String endDate){return service.selectTo(startDate, endDate);}public void addZhangWu(ZhangWu z) {service.addZhangWu(z);}
//  编辑账务public void editZhangWu(ZhangWu z) {service.editZhangWu(z);}
//  删除账务public void delectZhangWu(int id) {service.delectZhangWu(id);}
}

不要看其他,找到editZhangWU(ZhangWu z)方法,他调用service层的editZhangWU(ZhangWu z)方法,实际上,因为程序简单,service也是这种形式,它调用dao的editZhangWU(ZhangWu z)方法,我们直接看dao的方法:

package com.fei.gj.dao;//实现数据库的增删改查import java.sql.SQLException;
import java.util.List;import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;import com.fei.gj.domain.ZhangWu;
import com.fei.gj.tools.JDBCUtils;public class ZhangWuDao {private QueryRunner qr = new QueryRunner(JDBCUtils.getConnection());//  编辑账务public void editZhangWu(ZhangWu z) {try {String sql = "UPDATE gj set flname = ?,money = ?,createtime = ?,dest = ? WHERE id  = ?";Object[] param = {z.getFlname(),z.getMoney(),z.getCreatetime(),z.getDest(),z.getId()};qr.update(sql,param);                   }catch(SQLException e) {System.out.println(e);throw new RuntimeException("编辑账务失败");}}     }

我把其他方法删掉,只看删除方法。

一个sql语句,一个传参,就能操作数据库,实际上其他的功能跟这个很相似,查看是select,删除delete,添加insert

这是其中细节要注意和加上异常处理就可以了。

我们接下来看程序截图

下篇,我们看运行截图和文件程序下载

JAVA基础开发案例--管家记账(二)相关推荐

  1. java基础与案例开发详解 pdf下载_Java基础与案例开发详解(张孝祥) pdf_IT教程网...

    资源名称:Java基础与案例开发详解(张孝祥) pdf 第1.2和3章介绍Java环境的安装配置,Java程序的开发过程和Java语言的基础语法. 第4章介绍数组和常用算法的相关知识. 第5章和6章介 ...

  2. java微信开发API解析(二)-获取消息和回复消息

    java微信开发API解析(二)-获取消息和回复消息 说明 * 本演示样例依据微信开发文档:http://mp.weixin.qq.com/wiki/home/index.html最新版(4/3/20 ...

  3. 使用Jquery+EasyUI 进行框架项目开发案例讲解之二---用户管理源码分享

    使用Jquery+EasyUI 进行框架项目开发案例讲解之二 用户管理源码分享  在上一篇文章<使用Jquery+EasyUI进行框架项目开发案例讲解之一---员工管理源码分享>我们分享了 ...

  4. JAVA基础开发面试

    好记星不如烂笔头,这里记录平时工作中用到的东西,不喜可以留言. JAVA基础开发常见面试题 1: 如何看到加班 2:项目中使用了, 不会技术,你会咋处理 3:代码规范 4: 出差 短期 这里总结一些工 ...

  5. Java工程师成神之路java基础知识之集合类(二)

    Java 8中Map相关的红黑树的引用背景.原理等 HashMap的容量.扩容 很多人在通过阅读源码的方式学习Java,这是个很好的方式.而JDK的源码自然是首选.在JDK的众多类中,我觉得HashM ...

  6. 基于Java基础的家庭收支记账软件

    文章目录 前言 一.前期准备 二.整体功能 三.功能模块 四.功能浅谈 1. AccountInfo 类 2.收支明细 3.登记收入/支出 4. 查询账单 五.收获 六.总结 前言 学习完Java基础 ...

  7. java软件开发案例整合_30个java练手实战项目,让理论与实践相结合,献给嗜学如命的奋斗人...

    给大家推荐一条由浅入深的JAVA学习路径,首先完成 Java基础.JDK.JDBC.正则表达式等基础实验,然后进阶到 J2SE 和 SSH 框架学习.最后再通过有趣的练手项目进行巩固. JAVA基础 ...

  8. 【java基础】——一维数组和二维数组存储占用内存大小问题

    问题:在java中,一维数组和二维数组在数据量一样的情况下,开辟的内存大小是怎样的? 一.尝试阶段: 1.代码一: public class OneArrayMemory{public static ...

  9. 使用Jquery+EasyUI 进行框架项目开发案例讲解之二 用户管理源码分享

     在上一篇文章<使用Jquery+EasyUI进行框架项目开发案例讲解之一---员工管理源码分享>我们分享了使用Jquery EasyUI来进行开发的相关方法,同时对入群的用户提供了使用J ...

最新文章

  1. OSPF中的frame-relay(3) 点到多点非广播
  2. 人工智能如何彻底改变全球物流和供应链管理
  3. vue 之 sass
  4. 转载:介绍几本专业的书籍,一起学习
  5. 如何选择适合自己网站的防盗链
  6. height百分比以及高度自适应问题
  7. 分享一个非常 nice 的工具
  8. 500张思维导图记38000单词_思维导图记单词,环环相扣难遗忘——2020奇速英语夏令营第三天...
  9. VMware虚拟机的联网(图)
  10. linux安装python库报错pywin32_Python3爬虫利器:Scrapy的安装
  11. Android 应用开发(37)---RelativeLayout(相对布局)
  12. 【Java】Java Controller 每次只能一个请求 多线程 ReentrantLock
  13. GHOSTXP_SP3
  14. python 以行为单位进行字符串的切割
  15. 数学建模大赛考什么计算机基础知识,华为杯数学建模竞赛
  16. 初二计算机英语作文,初二英语作文带翻译
  17. Arduino基础入门篇25—红外遥控
  18. JQuery插件库和17素材——免费下载
  19. 如何修改需要以管理员身份才能操作的文件(极其简单的技巧)
  20. 安徽大学正方教务系统 用JS 一键完成 教师评价

热门文章

  1. Mysql如何查找my.ini文件
  2. 【经验总结】10年的嵌入式开发老手,到底是如何快速学习和使用RT-Thread的?(文末赠书5本)
  3. h264 rtp FU-A
  4. golang syscall 系统调用认知
  5. 电影下载全攻略 [初、中、高级]——老猫
  6. jquery打印html页面自动分页,前端实现指定位置分页、多页打印功能(jquery.print.js)...
  7. 阿里物联网平台(一)Windows系统+VS2017 模拟设备端接入
  8. 基于JAVA物业管理系统
  9. 闭包为什么会造成内存泄漏?
  10. 【详细教程】以Apache为底层搭建Web服务器的傻瓜教程//计算机网络作业