管家婆项目详细代码

编程入门 行业动态 更新时间:2024-10-11 01:15:49

<a href=https://www.elefans.com/category/jswz/34/1739624.html style=管家婆项目详细代码"/>

管家婆项目详细代码

项目内容就不详细介绍了,主要锻炼数据库增删改查,及项目逻辑调用。
代码有点多,按照package顺序,运行包–视图包–服务包–数据库操作包–工具包–事物对象包
以及SQL语句。
运行类

package cn.gjp.app;import cn.gjp.view.MainView;/** 运行管家婆的主方法*/
public class MainApp {public static void main(String[] args) {new MainView().run();}
}

视图类

package cn.gjp.view;import java.util.List;
import java.util.Scanner;import cn.gjp.domain.ZhangWu;
import cn.gjp.service.ZhangWuService;/** 依赖service*/
public class MainView {private ZhangWuService zws = new ZhangWuService();/** 实现键盘输入,选择相应功能调用*/public void run(){Scanner sc = new Scanner(System.in);while(true){System.out.println("---------------管家婆家庭记账软件---------------");System.out.println("1.添加账务 2.编辑账务 3.删除账务 4.查询账务 5.退出系统");System.out.println("请输入要操作的功能序号[1-5]:");int choose = sc.nextInt();switch(choose){case 1://选择添加账务addZhangWu();break;case 2://选择编辑editZhangWu();break;case 3://选择删除账务deleteZhangWu();break;case 4://选择查询账务selectZhangWu();break;case 5://退出系统System.exit(0);break;}}}/** 删除账务*/public void deleteZhangWu(){ZhangWu zw = new ZhangWu();Scanner sc = new Scanner(System.in);System.out.println("请输入要删除的ID:");zw.setZwid(sc.nextInt());boolean b = new ZhangWuService().deleteZhangWu(zw);if(b){System.out.println("删除成功!");}}/** 编辑账务*/public void editZhangWu(){ZhangWu zw = new ZhangWu();Scanner sc = new Scanner(System.in);System.out.println("请输入要编辑的ID:");zw.setZwid(sc.nextInt());System.out.println("请输入类别:");zw.setFlname(sc.next());System.out.println("请输入花费:");zw.setMoney(sc.nextDouble());System.out.println("请输入账户:");zw.setZhangHu(sc.next());System.out.println("请输入时间:");zw.setCreatetime(sc.next());System.out.println("请输入说明:");zw.setDescription(sc.next());boolean b = new ZhangWuService().editZhangWu(zw);if(b){System.out.println("编辑成功!");}}/** 添加账务功能*/public void addZhangWu(){ZhangWu zw = new ZhangWu();Scanner sc = new Scanner(System.in);System.out.println("请输入类别:");zw.setFlname(sc.next());System.out.println("请输入花费:");zw.setMoney(sc.nextDouble());System.out.println("请输入账户:");zw.setZhangHu(sc.next());System.out.println("请输入时间:");zw.setCreatetime(sc.next());System.out.println("请输入说明:");zw.setDescription(sc.next());boolean b = new ZhangWuService().addZhangWu(zw);if(b){System.out.println("添加成功!");}}/** 查询账务功能*/public void selectZhangWu(){System.out.println("请输入查询方式  1:查询所有  2:条件查询");Scanner sc = new Scanner(System.in);int i = sc.nextInt();switch(i){case 1:List<ZhangWu> list1 = new ZhangWuService().selectAll();print(list1);break;case 2:Scanner sc1 = new Scanner(System.in);System.out.println("请输入起始时间:");String starttime = sc1.nextLine();System.out.println("请输入结束时间:");String endtime = sc1.nextLine();List<ZhangWu> list2 = new ZhangWuService().select(starttime,endtime);print(list2);break;}}public void print(List<ZhangWu> list){System.out.println("编号\t"+"名称\t"+"花费\t"+"账户\t"+"时间\t"+"说明\t");for (ZhangWu zw : list) {System.out.println(zw.getZwid()+"\t"+zw.getFlname()+"\t"+zw.getMoney()+"\t"+zw.getZhangHu()+"\t"+zw.getCreatetime()+"\t"+zw.getDescription());}}
}

服务类

package cn.gjp.service;import java.util.List;
import java.util.Scanner;import cn.gjp.dao.ZhangWuDao;
import cn.gjp.domain.ZhangWu;
import cn.gjp.view.MainView;/** 用于传递参数,依赖zhangwudao*/
public class ZhangWuService {private  ZhangWuDao zwd = new ZhangWuDao();/** 删除账务*/public boolean deleteZhangWu(ZhangWu zw){return new ZhangWuDao().deleteZhangWu(zw);}/** 编辑账务*/public boolean editZhangWu(ZhangWu zw){return new ZhangWuDao().editZhangWu(zw);}/** 添加账务*/public boolean addZhangWu(ZhangWu zw){return new ZhangWuDao().addZhangWu(zw);}/** 查询所有账务信息,调用dao查询数据库*/public List<ZhangWu> selectAll(){List<ZhangWu> list = new ZhangWuDao().selectAll();return list;}/** 条件查询账务信息*/public List<ZhangWu> select(String starttime,String endtime){List<ZhangWu> list =  new ZhangWuDao().select(starttime,endtime);return list;}
}

操作数据库类

package cn.gjp.dao;import java.sql.SQLException;
import java.util.List;import javax.management.RuntimeErrorException;import org.apachemons.dbutils.QueryRunner;
import org.apachemons.dbutils.handlers.BeanListHandler;import cn.gjp.domain.ZhangWu;
import cn.gjp.tools.JDBCUtils;/** 添加queryrunner对象,用来操作数据库数据。*/
public class ZhangWuDao {QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());/** 删除账务*/public boolean deleteZhangWu(ZhangWu zw){String sql = "DELETE FROM gjp_zhangwu WHERE zwid=?";try{qr.update(sql,zw.getZwid());return true;}catch (SQLException sex){System.out.println(sex);throw new RuntimeException("删除失败");}}/** 编辑账务*/public boolean editZhangWu(ZhangWu zw){String sql = "UPDATE gjp_zhangwu SET flname=?,money=?,zhangHu=?,createtime=?,description=? WHERE zwid = ?";//String sql = "update gjp_zhangwu set flname=?, money=?,zhanghu=?,createtime=?,description=? where zwid=?";Object[] parms = {zw.getFlname(),zw.getMoney(),zw.getZhangHu(),zw.getCreatetime(),zw.getDescription(),zw.getZwid()};try{qr.update(sql, parms);return true;}catch (SQLException sex){System.out.println(sex);throw new RuntimeException("编辑失败");}}/** 添加账务*/public boolean addZhangWu(ZhangWu zw){String sql = "insert into gjp_zhangwu(flname,money,zhangHu,createtime,description) values(?,?,?,?,?)";Object[] parms = {zw.getFlname(),zw.getMoney(),zw.getZhangHu(),zw.getCreatetime(),zw.getDescription()};try{qr.update(sql, parms);return true;}catch (SQLException sex){System.out.println(sex);throw new RuntimeException("添加失败");}}/** 查询所有账务信息*/public List<ZhangWu> selectAll(){try{String sql = "SELECT * FROM gjp_zhangwu";List<ZhangWu> list = qr.query(sql,new BeanListHandler<>(ZhangWu.class));return list;}catch (Exception e) {System.out.println(e);throw new RuntimeException("查询失败");}}/** 条件查询账务信息*/public List<ZhangWu> select(String starttime,String endtime){try{String sql = "SELECT * FROM gjp_zhangwu WHERE createtime BETWEEN ? AND ?";Object[] parms = {starttime,endtime};List<ZhangWu> list = qr.query(sql,new BeanListHandler<>(ZhangWu.class),parms);return list;}catch (Exception e) {System.out.println(e);throw new RuntimeException("查询失败");}}
}

账务数据类型类

package cn.gjp.domain;
/** 封装数据库中数据为javabean类对象*/
public class ZhangWu {private int zwid ;private String flname; private double money ;private String zhangHu; private String createtime;private String description;public ZhangWu(int zwid, String flname, double money, String zhangHu,String createtime, String description) {this.zwid = zwid;this.flname = flname;this.money = money;this.zhangHu = zhangHu;this.createtime = createtime;this.description = description;}public ZhangWu(){}public int getZwid() {return zwid;}public void setZwid(int zwid) {this.zwid = zwid;}public String getFlname() {return flname;}public void setFlname(String flname) {this.flname = flname;}public double getMoney() {return money;}public void setMoney(double money) {this.money = money;}public String getZhangHu() {return zhangHu;}public void setZhangHu(String zhangHu) {this.zhangHu = zhangHu;}public String getCreatetime() {return createtime;}public void setCreatetime(String createtime) {this.createtime = createtime;}public String getDescription() {return description;}public void setDescription(String description) {this.description = description;}public String toString() {return "ZhangWu [zwid=" + zwid + ", flname=" + flname + ", money="+ money + ", zhangHu=" + zhangHu + ", createtime=" + createtime+ ", description=" + description + "]";}}

数据库连接工具类,注意我的数据库连接端口号是3307,密码是123456

package cn.gjp.tools;import javax.sql.DataSource;import org.apachemons.dbcp.BasicDataSource;/** 数据库连接工具类* 连接池,dbcp*/
public class JDBCUtils {private static BasicDataSource datasource = new BasicDataSource();//静态代码块实现必要的参数设置static{datasource.setDriverClassName("com.mysql.jdbc.Driver");datasource.setUrl("jdbc:mysql://localhost:3307/gjp");datasource.setUsername("root");datasource.setPassword("123456");datasource.setMaxActive(10);datasource.setMaxIdle(5);datasource.setMinIdle(3);datasource.setInitialSize(8);}public static DataSource getDataSource(){return datasource;}
}

SQL

CREATE DATABASE gjp;USE gjp;CREATE TABLE gjp_zhangwu(zwid INT PRIMARY KEY AUTO_INCREMENT,flname VARCHAR(200),money DOUBLE,zhangHu VARCHAR(200),createtime DATE,description VARCHAR(100)
);-- insert into gjp_zhangwu(flname,money,zhanghu,createtime,description) values (,,,,)
INSERT  INTO gjp_zhangwu(zwid,flname,money,zhangHu,createtime,description) VALUES (1,'吃饭支出',247,'交通银行','2016-03-02','家庭聚餐');
INSERT  INTO gjp_zhangwu(zwid,flname,money,zhangHu,createtime,description) VALUES (2,'工资收入',12345,'现金','2016-03-15','开工资了');
INSERT  INTO gjp_zhangwu(zwid,flname,money,zhangHu,createtime,description) VALUES (3,'服装支出',1998,'现金','2016-04-02','买衣服');
INSERT  INTO gjp_zhangwu(zwid,flname,money,zhangHu,createtime,description) VALUES (4,'吃饭支出',325,'现金','2016-06-18','朋友聚餐');
INSERT  INTO gjp_zhangwu(zwid,flname,money,zhangHu,createtime,description) VALUES (5,'股票收入',8000,'工商银行','2016-10-28','股票大涨');
INSERT  INTO gjp_zhangwu(zwid,flname,money,zhangHu,createtime,description) VALUES (6,'股票收入',5000,'工商银行','2016-10-28','股票又大涨');
INSERT  INTO gjp_zhangwu(zwid,flname,money,zhangHu,createtime,description) VALUES (7,'工资收入',5000,'交通银行','2016-10-28','又开工资了');
INSERT  INTO gjp_zhangwu(zwid,flname,money,zhangHu,createtime,description) VALUES (8,'礼金支出',5000,'现金','2016-10-28','朋友结婚');
INSERT  INTO gjp_zhangwu(zwid,flname,money,zhangHu,createtime,description) VALUES (9,'其他支出',1560,'现金','2016-10-29','丢钱了');
INSERT  INTO gjp_zhangwu(zwid,flname,money,zhangHu,createtime,description) VALUES (10,'交通支出',2300,'交通银行','2016-10-29','油价还在涨啊');
INSERT  INTO gjp_zhangwu(zwid,flname,money,zhangHu,createtime,description) VALUES (11,'吃饭支出',1000,'工商银行','2016-10-29','又吃饭');
INSERT  INTO gjp_zhangwu(zwid,flname,money,zhangHu,createtime,description) VALUES (12,'工资收入',1000,'现金','2016-10-30','开资');
INSERT  INTO gjp_zhangwu(zwid,flname,money,zhangHu,createtime,description) VALUES (13,'交通支出',2000,'现金','2016-10-30','机票好贵');
INSERT  INTO gjp_zhangwu(zwid,flname,money,zhangHu,createtime,description) VALUES (14,'工资收入',5000,'现金','2016-10-30','又开资');
-- 查询全部
SELECT * FROM gjp_zhangwu;
-- 条件查询
SELECT * FROM gjp_zhangwu WHERE createtime BETWEEN 20160106 AND 20160808;
-- 添加账务
INSERT INTO gjp_zhangwu (flname,money,zhangHu,createtime,description) VALUES ('彩票支出',200,'现金','20200410','欧洲杯');
-- 编辑账务
UPDATE gjp_zhangwu SET flname='dsf',money=250,zhangHu='asdf',createtime='21000809',description='safdgsadfg'WHERE zwid = 15;
-- 删除账务
DELETE FROM gjp_zhangwu WHERE zwid=15;

感谢黑马!!!,感谢这位不知道姓名的老师。去就业班了…
基础班完结

更多推荐

管家婆项目详细代码

本文发布于:2024-02-06 09:05:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1748239.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:管家婆   代码   项目   详细

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!