A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

小鲁哥哥白话笔记-管家婆项目三

还是熟悉的味道,还是熟悉的配方,今天给大家聊的是这个项目的详细功能的实现,多余的话不多说了,直接上代码:
添加账务功能分析
    * A: 添加账务功能分析
        * a: 编写MainView类中addZhangWu方法
            * 键盘输入新添加的账务信息
            * 调用ZhangWuService类中addZhangWu方法,用来指定账务的添加
            * 添加完毕后,使用输出语句,提示“添加账务成功!”
        * b: 编写ZhangWuService类中addZhangWu方法
            * 调用ZhangWuDao类中addZhangWu方法,用来指定账务的添加
        * c: 编写ZhangWuDao类中addZhangWu方法
            * 通过QueryRunner对象,调用update方法更新数据库表gjp_zhangwu,完成指定账务添加到数据库表中
添加账务功能菜单和输入功能实现
    * A: 添加账务功能菜单和输入功能实现   
        * a: 案例核心代码
            * cn.itcast.gjp.view包中建立MainView类addZhangWu方法
            
[Java] 纯文本查看 复制代码
/*
             * 定义方法addZhangWu
             * 添加账务的方法,用户在界面中选择菜单1的时候调用、
             * 实现思想:
             *       接收键盘输入,5项输入,调用controller层方法
             */
            public void addZhangWu() {
                System.out.println("选择的添加账务功能,请输入以下内容");
                Scanner sc = new Scanner(System.in);
                System.out.println("输入分类名称");
                String flname = sc.next();
                System.out.println("输入金额");
                double money = sc.nextDouble();
                System.out.println("输入账户");
                String zhanghu = sc.next();
                System.out.println("输入日期:格式XXXX-XX-xx");
                String createtime = sc.next();
                System.out.println("输入具体描述");
                String description = sc.next();
                //将接收到的数据,调用controller层的方法,传递参数,实现数据添加
                
            }

添加账务功能控制层,业务层实现
    * A: 添加账务功能控制层,业务层实现
        * a: 案例核心代码
            * cn.itcast.gjp.controller包中的ZhangWuController类addZhangWu方法
               
[Java] 纯文本查看 复制代码
/*
                 * 定义方法,实现账务添加功能
                 * 由视图层调用,传递参数(传递过来的参数不能是5个数据,传递的是一个ZhangWu类型的对象)
                 * 本方法调用service层的方法,传递ZhangWu对象,获取到添加后的结果集(添加成功影响的行数,int)
                 * 
                 */
                public void addZhangWu(ZhangWu zw) {
                    service.addZhangWu(zw);
                }
            * cn.itcast.gjp.service包中的ZhangWuService类addZhangWu方法
                /*
                 * 定义方法,实现添加账务
                 * 是由控制层调用,传递ZhangWu对象
                 */
                public void addZhangWu(ZhangWu zw) {
                    dao.addZhangWu(zw);
                }
            * cn.itcast.gjp.dao包中的ZhangWuDao类addZhangWu方法
                /*
                 * 定义方法,实现添加账务功能
                 * 由业务层调用,传递ZhangWu对象
                 * 将ZhangWu对象中的数据,添加到数据库
                 */
                public void addZhangWu(ZhangWu zw) {
                     
                }

添加账务功能dao层实现
    * A: 添加账务功能dao层实现
        * a: 案例核心代码   
            * cn.itcast.gjp.dao包中的ZhangWuDao类的addZhangWu方法
               
[Java] 纯文本查看 复制代码
 public void addZhangWu(ZhangWu zw) {
                    try{
                         //拼接添加数据的sql
                        String sql = "INSERT INTO gjp_zhangwu (flname,money,zhanghu,createtime,description) VALUES(?,?,?,?,?)";
                        //创建对象数组,处处5个占位符的实际参数
                        //实际参数来源是传递过来的对象ZhangWu
                        Object[] params = {zw.getFlname(),zw.getMoney(),zw.getZhanghu(),zw.getCreatetime(),zw.getDescription()};
                        //调用qr对象中的方法update执行添加
                        qr.update(sql, params);
                    }catch(SQLException ex) {
                        System.out.println(ex);
                        throw new RuntimeException("账务添加失败");
                    }
                }

添加账务功能view层实现
    * A: 添加账务功能view层实现
        * a: 案例核心代码
            * cn.itcast.gjp.view包中建立MainView类addZhangWu方法
               
[Java] 纯文本查看 复制代码
public void addZhangWu() {
                    System.out.println("选择的添加账务功能,请输入以下内容");
                    Scanner sc = new Scanner(System.in);
                    System.out.println("输入分类名称");
                    String flname = sc.next();
                    System.out.println("输入金额");
                    double money = sc.nextDouble();
                    System.out.println("输入账户");
                    String zhanghu = sc.next();
                    System.out.println("输入日期:格式XXXX-XX-xx");
                    String createtime = sc.next();
                    System.out.println("输入具体描述");
                    String description = sc.next();
                    //将接收到的数据,调用controller层的方法,传递参数,实现数据添加
                    //将用户输入的所有参数,封装成ZhangWu对象
                    ZhangWu zw = new ZhangWu(0, flname, money, zhanghu, createtime, description);
                    controller.addZhangWu(zw);
                    System.out.println("恭喜添加账务成功");
                }

编辑账务功能分析
    * A: 编辑账务功能分析
        * a: 编写MainView类中editZhangWu方法
            * 键盘输入要编辑的账务信息ID号
            * 键盘输入要修改的账务信息内容
            * 调用ZhangWuService类中editZhangWu方法,用来将指定的账务信息进行更新
            * 更新完毕后,使用输出语句,提示 “编辑账务成功!”
        * b: 编写ZhangWuService类中editZhangWu方法
            * 调用ZhangWuDao类中editZhangWu方法,用来将指定的账务信息进行更新
        * c: 编写ZhangWuDao类中editZhangWu方法
            * 通过QueryRunner对象,调用update方法更新数据库表gjp_zhangwu,完成数据库表中指定账务更新操作
编辑账务功能功能之前实现查询所有

    * A: 编辑账务功能功能之前实现查询所有
        * a: 案例核心代码
            * cn.itcast.gjp.view包中建立MainView类editZhangWu方法
                public void editZhangWu() {
                    //调用查询所有账务数据的功能,显示出来
                    //看到所有数据,从中选择一项,进行修改
                    selectAll();
                    System.out.println("选择的是编辑功能,请输入数据");
                    
                    
                }
编辑账务功能菜单实现
    * A: 编辑账务功能菜单实现
        * a: 案例核心代码
            * cn.itcast.gjp.view包中建立MainView类editZhangWu方法
               
[Java] 纯文本查看 复制代码
public void editZhangWu() {[/align]                    //调用查询所有账务数据的功能,显示出来
                    //看到所有数据,从中选择一项,进行修改
                    selectAll();
                    System.out.println("选择的是编辑功能,请输入数据");
                    Scanner sc = new Scanner(System.in);
                    System.out.print("请输入ID");
                    int zwid = sc.nextInt();
                    System.out.println("输入分类名称");
                    String flname = sc.next();
                    System.out.println("输入金额");
                    double money = sc.nextDouble();
                    System.out.println("输入账户");
                    String zhanghu = sc.next();
                    System.out.println("输入日期:格式XXXX-XX-xx");
                    String createtime = sc.next();
                    System.out.println("输入具体描述");
                    String description = sc.next();
                    //将用户输入的数据,封装到ZhangWu对象中
                    //用户输入的ID,必须封装到到对象中
                    ZhangWu zw = new ZhangWu(zwid, flname, money, zhanghu, createtime, description);
                    //调用controller层中的方法,实现编辑账务
[align=left]}     
      
编辑账务功能控制层,业务层实现
    * A: 编辑账务功能控制层,业务层实现
        * a: 案例核心代码
            * cn.itcast.gjp.controller包中的ZhangWuController类editZhangWu方法
                /*
                 * 定义方法,实现编辑账务功能
                 * 由视图层调用,传递参数,也是ZhangWu对象
                 * 调用service层的方法,也是ZhangWu对象
                 */
                public void editZhangWu(ZhangWu zw) {
                    service.editZhangWu(zw);
                }
            * cn.itcast.gjp.service包中的ZhangWuService类editZhangWu方法
                /*
                 * 定义方法,实现编辑账务
                 * 由控制层调用,传递ZhangWu对象
                 * 调用dao层的方法,传递ZhangWu对象
                 */
                public void editZhangWu(ZhangWu zw) {
                    dao.editZhangWu(zw);
                }
            * cn.itcast.gjp.dao包中的ZhangWuDao类editZhangWu方法
                public void editZhangWu(ZhangWu zw) {
                    // TODO Auto-generated method stub
                    
                }
编辑账务功能dao层实现
    * A:编辑账务功能dao层实现
        * a: 案例核心代码
            * cn.itcast.gjp.dao包中的ZhangWuDao类editZhangWu方法
               
[Java] 纯文本查看 复制代码
/*
                 * 定义方法,实现编辑功能
                 * 由业务层调用,传递ZhangWu对象
                 * 将对象中的数据,更新到数据表
                 */
                public void editZhangWu(ZhangWu zw) {
                    try {
                        //更新数据的SQL
                        String sql = "UPDATE zhangwu SET flname=?,money=?,zhanghu=?,createtime=?,description=? WHERE zwid=?";
                        //定义对象数组,封装所有数据
                        Object[] params = {zw.getFlname(),zw.getMoney(),zw.getZhanghu(),zw.getCreatetime(),zw.getDescription(),zw.getZwid()};
                        //调用qr对象方法update执行更新
                        qr.update(sql, params);
                    } catch (SQLException ex) {
                        System.out.println(ex);
                        throw new RuntimeException("编辑账务失败");
                    }
                    
                }

编辑账务功能view层实现
    * A: 编辑账务功能view层实现
        * a: 案例核心代码
            * cn.itcast.gjp.view包中建立MainView类editZhangWu方法
               
[Java] 纯文本查看 复制代码
 /*
                 * 定义方法,实现对账务的编辑功能
                 * 实现思想:
                 *     接收用户的输入的信息
                 *  封装成ZhangWu对象
                 *  调用控制层的方法,传递ZhangWu对象,实现编辑
                 * 
                 */
                public void editZhangWu() {
                    //调用查询所有账务数据的功能,显示出来
                    //看到所有数据,从中选择一项,进行修改
                    selectAll();
                    System.out.println("选择的是编辑功能,请输入数据");
                    Scanner sc = new Scanner(System.in);
                    System.out.print("请输入ID");
                    int zwid = sc.nextInt();
                    System.out.println("输入分类名称");
                    String flname = sc.next();
                    System.out.println("输入金额");
                    double money = sc.nextDouble();
                    System.out.println("输入账户");
                    String zhanghu = sc.next();
                    System.out.println("输入日期:格式XXXX-XX-xx");
                    String createtime = sc.next();
                    System.out.println("输入具体描述");
                    String description = sc.next();
                    //将用户输入的数据,封装到ZhangWu对象中
                    //用户输入的ID,必须封装到到对象中
                    ZhangWu zw = new ZhangWu(zwid, flname, money, zhanghu, createtime, description);
                    //调用controller层中的方法,实现编辑账务
                    controller.editZhangWu(zw);
                    System.out.println("账务编辑成功");
                }

删除账务功能分析
    * A: 删除账务功能分析
        * a: 编写MainView类中deleteZhangWu方法
            * 键盘输入要删除的账务信息ID号
            * 调用ZhangWuService类中deleteZhangWu方法,用来将指定的账务信息删除
            * 删除完毕后,使用输出语句,提示 “删除账务成功!”
        * b: 编写ZhangWuService类中deleteZhangWu方法
            * 调用ZhangWuDao类中deleteZhangWu方法,用来将指定的账务信息删除
        * c: 编写ZhangWuDao类中deleteZhangWu方法
            * 通过QueryRunner对象,调用update方法更新数据库表gjp_zhangwu,完成数据库表中指定账务删除操作
删除账务功能菜单实现
    * A: 删除账务功能菜单实现
        * a: 案例核心代码
            * cn.itcast.gjp.view包中建立MainView类deleteZhangWu方法
               
[Java] 纯文本查看 复制代码
/*
                 * 定义方法,实现账务删除
                 * 实现思想:
                 *     接收用户的输入,输入一个主键数据
                 *  调用控制层方法,传递一个主键
                 */
                public void deleteZhangWu() {
                    //调用查询所有账务数据的功能,显示出来
                    //看到所有数据,从中选择一项,进行修改
                    selectAll();
                    System.out.println("选择的是删除功能,请输入序号即可");
                    int zwid = new Scanner(System.in).nextInt();
                    //调用控制层方法,传递主键id即可
                }

删除账务功能控制层,业务层实现
    * A: 删除账务功能控制层,业务层实现
        * a: 案例核心代码
            * cn.itcast.gjp.controller包中的ZhangWuController类deleteZhangWu方法
                /*
                 * 定义方法,实现删除功能
                 * 视图层调用,传递int类型主键
                 * 调用service层方法,传递int主键
                 */
                public void deleteZhangWu(int zwid) {
                    service.deleteZhangWu(zwid);
                }
            * cn.itcast.gjp.service包中的ZhangWuService类deleteZhangWu方法
                /*
                 * 定义方法,实现删除账务功能
                 * 由控制层调用,传递主键id
                 * 调用dao层方法,传递主键id
                 */
                public void deleteZhangWu(int zwid) {
                    dao.deleteZhangWu(zwid);
                }
            * cn.itcast.gjp.dao包中的ZhangWuDao类deleteZhangWu方法
                public void deleteZhangWu(int zwid) {
        
                }
删除账务功能dao实现
    * A: 删除账务功能dao实现
        * a: 案例核心代码
            * cn.itcast.gjp.dao包中的ZhangWuDao类deleteZhangWu方法
               
[Java] 纯文本查看 复制代码
 /*
                 * 定义方法,实现删除业务
                 * 业务层调用,传递主键id
                 */
                public void deleteZhangWu(int zwid) {
                    try {
                        //拼写删除数据SQL
                        String sql = "DELETE FROM gjp_zhangwu WHERE zwid=?";
                        qr.update(sql, zwid);
                    } catch (SQLException ex) {
                        System.out.println(ex);
                        throw new RuntimeException("删除账务失败");
                    }
                }

删除账务功能view层实现
    * A: 删除账务功能view层实现
        * a: 案例核心代码
            * cn.itcast.gjp.view包中建立MainView类editZhangWu方法
               
[Java] 纯文本查看 复制代码
 /*[/align]                 * 定义方法,实现账务删除
                 * 实现思想:
                 *     接收用户的输入,输入一个主键数据
                 *  调用控制层方法,传递一个主键
                 */
                public void deleteZhangWu() {
                    //调用查询所有账务数据的功能,显示出来
                    //看到所有数据,从中选择一项,进行修改
                    selectAll();
                    System.out.println("选择的是删除功能,请输入序号即可");
                    int zwid = new Scanner(System.in).nextInt();
                    //调用控制层方法,传递主键id即可
                    controller.deleteZhangWu(zwid);
                    System.out.println("删除账务成功");
                }
以上就是我们的管家婆项目的全部代码了,大家是不是感觉通过这个项目把我们Java基础所学的东西都回顾了一遍,而且java编程对于我们来说也挺简单。下一周开始小鲁哥哥和大家聊一聊设计模式,让大家对编程有更深层次的理解。

如果你想了解更多黑马课程,如果你想加入黑马这个大家庭学习先进技术,光交天下好友,那就快来吧!
     黑马程序员济南中心联系电话:0531-55696830

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马