[零基础学JAVA]Java SE实战开发-37.MIS信息管理系统实战开发[JDBC](2)

Menu.java
package org.michael.demo.menu;    
import org.michael.demo.operate.PersonOperate;    
import org.michael.demo.operate.StudentOperate;    
import org.michael.demo.operate.WorkerOperate;    
import org.michael.demo.util.InputData;    
public class Menu {    
         private InputData input = null;    
         private PersonOperate po = null;    
         private boolean sflag = true;    
         private boolean wflag = true;    
         // 菜单要有增加信息、修改信息等的功能,增加信息的时候要选择是增加学生还是工人    
         public Menu() {    
                 this.input = new InputData();    
                 while ( true) {    
                         this.showMain();    
                }    
        }    
         // 显示主菜单    
         public void showMain() {    
                System.out.println( "                    学校信息管理程序                            ");    
                System.out.println( "                    1、学生信息管理                             ");    
                System.out.println( "                    2、工人信息管理                             ");    
                System.out.println( "                    3、退出系统                                     ");    
                 // 要进行选择    
                System.out.println( "\n\n 请选择所要的操作:");    
                 switch (input.getInt()) {    
                 case 1: {    
                         this.sflag = true;    
                         while (sflag) {    
                                 this.showStudent();    
                        }    
                         break;    
                }    
                 case 2: {    
                         this.wflag = true;    
                         while (wflag) {    
                                 this.showWorker();    
                        }    
                         break;    
                }    
                 case 3: {    
                        System.out.println( "系统退出,拜拜~~~") ;    
                        System.exit(1);    
                         break;    
                }    
                 default: {    
                        System.out.println( "            选择错误,请重新选择!");    
                         break;    
                }    
                }    
        }    
         // 显示学生操作的菜单    
         public void showStudent() {    
                 this.po = new StudentOperate();    
                System.out.println( "                        学生信息管理                                 ");    
                System.out.println( "                     1、增加学生信息                             ");    
                System.out.println( "                     2、列出全部学生信息                     ");    
                System.out.println( "                     3、查询学生信息                             ");    
                System.out.println( "                     4、删除学生信息                             ");    
                System.out.println( "                     5、修改学生信息                             ");    
                System.out.println( "                     6、返回上一级菜单                         ");    
                System.out.println( "\n\n请选择具体的操作:");    
                 switch ( this.input.getInt()) {    
                 case 1: {    
                         this.po.add();    
                         break;    
                }    
                 case 2: {    
                         this.po.findAll();    
                         break;    
                }    
                 case 3: {    
                         this.po.findByLike();    
                         break;    
                }    
                 case 4: {    
                         this.po.delete();    
                         break;    
                }    
                 case 5: {    
                         this.po.update();    
                         break;    
                }    
                 case 6: {    
                         this.sflag = false;    
                         break;    
                }    
                 default: {    
                        System.out.println( "            选择错误,请重新选择!");    
                         break;    
                }    
                }    
        }    
         // 显示工人操作的菜单    
         public void showWorker() {    
                 this.po = new WorkerOperate();    
                System.out.println( "                        工人信息管理                                 ");    
                System.out.println( "                     1、增加工人信息                             ");    
                System.out.println( "                     2、列出全部工人信息                     ");    
                System.out.println( "                     3、查询工人信息                             ");    
                System.out.println( "                     4、删除工人信息                             ");    
                System.out.println( "                     5、修改工人信息                             ");    
                System.out.println( "                     6、返回上一级菜单                         ");    
                System.out.println( "\n\n请选择具体的操作:");    
                 switch ( this.input.getInt()) {    
                 case 1: {    
                         this.po.add();    
                         break;    
                }    
                 case 2: {    
                         this.po.findAll();    
                         break;    
                }    
                 case 3: {    
                         this.po.findByLike();    
                         break;    
                }    
                 case 4: {    
                         this.po.delete();    
                         break;    
                }    
                 case 5: {    
                         this.po.update();    
                         break;    
                }    
                 case 6: {    
                         this.wflag = false;    
                         break;    
                }    
                 default: {    
                        System.out.println( "            选择错误,请重新选择!");    
                         break;    
                }    
                }    
        }    
}
 
PersonOperate.java
package org.michael.demo.operate;    
public interface PersonOperate {    
         public void add();    
         public void delete();    
         public void update();    
         public void findAll();    
         public void findByLike();    
}
 
StudentOperate.java
package org.michael.demo.operate;    
import java.util.Iterator;    
import org.michael.demo.dao.PersonDAO;    
import org.michael.demo.util.InputData;    
import org.michael.demo.util.TimeStamp;    
import org.michael.demo.vo.Person;    
import org.michael.demo.vo.Student;    
import org.michael.demo.factory.*;    
public class StudentOperate implements PersonOperate {    
         private PersonDAO dao = null;    
         private InputData input = null;    
         public StudentOperate() {    
                 this.dao = DAOFactory.getPersonDAOInstance( "0");    
                 this.input = new InputData();    
        }    
         public void add() {    
                String id = new TimeStamp( "s").getTimeStampRandom();    
                System.out.print( "输入学生姓名:");    
                String name = this.input.getString();    
                System.out.print( "输入学生年龄:");    
                 int age = this.input.getInt();    
                System.out.print( "输入学生成绩:");    
                 float score = this.input.getFloat();    
                Student s = new Student(id, name, age, score);    
                 try {    
                         this.dao.doCreate(s);    
                } catch (Exception e) {    
                        e.printStackTrace();    
                }    
        }    
         public void delete() {    
                String id = null;    
                System.out.print( "请输入要删除的学生ID:");    
                id = input.getString();    
                 try {    
                         this.dao.doDelete(id);    
                } catch (Exception e) {    
                        e.printStackTrace();    
                }    
        }    
         public void update() {    
                 // 更新之前需要先查询出来    
                String id = null;    
                System.out.print( "请输入要修改的学生ID:");    
                id = input.getString();    
                Student s = null;    
                 try {    
                        s = (Student) this.dao.findById(id);    
                } catch (Exception e1) {    
                         // TODO Auto-generated catch block    
                        e1.printStackTrace();    
                }    
                System.out.print( "输入学生姓名(原姓名:" + s.getName() + "):");    
                String name = this.input.getString();    
                System.out.print( "输入学生年龄(原年龄:" + s.getAge() + "):");    
                 int age = this.input.getInt();    
                System.out.print( "输入学生成绩(原成绩:" + s.getScore() + "):");    
                 float score = this.input.getFloat();    
                s.setName(name);    
                s.setAge(age);    
                s.setScore(score);    
                 try {    
                         this.dao.doUpdate(s);    
                } catch (Exception e) {    
                        e.printStackTrace();    
                }    
        }    
         public void findAll() {    
                Iterator<Person> iter = null;    
                 try {    
                        iter = this.dao.findAll().iterator();    
                } catch (Exception e) {    
                         // TODO Auto-generated catch block    
                        e.printStackTrace();    
                }    
                System.out.println( "ID\t\t\t姓名\t年龄\t成绩");    
                 while (iter.hasNext()) {    
                        System.out.println(iter.next());    
                }    
        }    
         public void findByLike() {    
                String keyWord = null ;    
                System.out.print( "请输入查询关键字:") ;    
                keyWord = this.input.getString() ;    
                Iterator<Person> iter = null;    
                 try {    
                        iter = this.dao.findByLike(keyWord).iterator();    
                } catch (Exception e) {    
                         // TODO Auto-generated catch block    
                        e.printStackTrace();    
                }    
                System.out.println( "ID\t\t\t姓名\t年龄\t成绩");    
                 while (iter.hasNext()) {    
                        System.out.println(iter.next());    
                }    
        }    
}
 
WorkerOperate.java
package org.michael.demo.operate;    
import java.util.Iterator;    
import org.michael.demo.dao.PersonDAO;    
import org.michael.demo.factory.DAOFactory;    
import org.michael.demo.util.InputData;    
import org.michael.demo.util.TimeStamp;    
import org.michael.demo.vo.Person;    
import org.michael.demo.vo.Worker;    
public class WorkerOperate implements PersonOperate {    
         private PersonDAO dao = null;    
         private InputData input = null;    
         public WorkerOperate() {    
                 this.dao = DAOFactory.getPersonDAOInstance( "1");    
                 this.input = new InputData();    
        }    
         public void add() {    
                String id = new TimeStamp( "w").getTimeStampRandom();    
                System.out.print( "输入工人姓名:");    
                String name = this.input.getString();    
                System.out.print( "输入工人年龄:");    
                 int age = this.input.getInt();    
                System.out.print( "输入工人工资:");    
                 float salary = this.input.getFloat();    
                Worker w = new Worker(id, name, age, salary);    
                 try {    
                         this.dao.doCreate(w);    
                } catch (Exception e) {    
                        e.printStackTrace();    
                }    
        }    
         public void delete() {    
                String id = null;    
                System.out.print( "请输入要删除的工人ID:");    
                id = input.getString();    
                 try {    
                         this.dao.doDelete(id);    
                } catch (Exception e) {    
                        e.printStackTrace();    
                }    
        }    
         public void update() {    
                 // 更新之前需要先查询出来    
                String id = null;    
                System.out.print( "请输入要修改的工人ID:");    
                id = input.getString();    
                Worker w = null;    
                 try {    
                        w = (Worker) this.dao.findById(id);    
                } catch (Exception e1) {    
                         // TODO Auto-generated catch block    
                        e1.printStackTrace();    
                }    
                System.out.print( "输入工人姓名(原姓名:" + w.getName() + "):");    
                String name = this.input.getString();    
                System.out.print( "输入工人年龄(原年龄:" + w.getAge() + "):");    
                 int age = this.input.getInt();    
                System.out.print( "输入工人工资(原工资:" + w.getSalary() + "):");    
                 float salary = this.input.getFloat();    
                w.setName(name);    
                w.setAge(age);    
                w.setSalary(salary);    
                 try {    
                         this.dao.doUpdate(w);    
                } catch (Exception e) {    
                        e.printStackTrace();    
                }    
        }    
         public void findAll() {    
                Iterator<Person> iter = null;    
                 try {    
                        iter = this.dao.findAll().iterator();    
                } catch (Exception e) {    
                        e.printStackTrace();    
                }    
                System.out.println( "ID\t\t\t姓名\t年龄\t工资");    
                 while (iter.hasNext()) {    
                        System.out.println(iter.next());    
                }    
        }    
         public void findByLike() {    
                String keyWord = null ;    
                System.out.print( "请输入查询关键字:") ;    
                keyWord = this.input.getString() ;    
                Iterator<Person> iter = null;    
                 try {    
                        iter = this.dao.findByLike(keyWord).iterator();    
                } catch (Exception e) {    
                        e.printStackTrace();    
                }    
                System.out.println( "ID\t\t\t姓名\t年龄\t工资");    
                 while (iter.hasNext()) {    
                        System.out.println(iter.next());    
                }    
        }    
}
 
###################Michael分割线###################
###################Michael分割线###################
#################Michael分割线####################
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值