JAVA基础开发案例--管家记账(二)

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

方法为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

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

我们接下来看程序截图

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值