学生管理系统----待续二

来源:互联网 发布:域名注册查询接口 编辑:程序博客网 时间:2024/05/17 00:01

到这里我们已经准备好了直接和数据库中的表打交道的studentDAO.java文件以及adminDAO.Java ,也就是现在我们已经准备好了后台的操作函数和方法以及数据表
那么接下来就是写用户界面的效果了

public class UserInterface {    AdminService as = new AdminService();    //写一个main函数,作为程序的入口    //这里我们因为导入了junit4包,所以直接调用这个包就行了    @Test    public void userTest(){        UserInterface ui = new UserInterface();        ui.login();    }    //第一部分是登陆,写一个登陆的函数    public void login(){        System.out.println("---------------------欢迎登陆学生信息管理系统-----------------------");        System.out.println("1. 登陆            2. 退出");        System.out.println("-------------------------------------------------------------------");        System.out.println("请选择:");        Scanner sc = new Scanner(System.in);        int no = sc.nextInt();        if(no==1){            System.out.println("欢迎登陆");            System.out.println("请输入用户名:");            String username = sc.next();            System.out.println("请输入密码:");            String pwd = sc.next();            //这里我们从用户界面拿到了用户名和密码            //那么接下来就需要从数据库中去查询是否存在对应的用户名和密码            //那么如何将用户的数据传递到数据库中去呢            //这里我们需要一个service做中间的传递作用            List<Admin> loginResult = as.loginService(username, pwd);            if(loginResult!=null){                System.out.println("登陆成功");                System.out.println("欢迎您  "+username);            }else{            }        }else if(no==2){        }else{        }    }}

中转类AdminService

public class AdminService {    AdminDAO ad = new AdminDAO();    public Admin loginService(String username, String pwd){        //loginservice就是将用户输入的数据组装成一个admin的对象        //然后作为参数传递给数据库操纵函数DAO进行查询        //这里只需要传入用户名和密码        //所以在组装对象admin的时候,mid可以直接设置为-1        Admin admin = new Admin(-1,username, pwd);        return  ad.findByPN(admin);    }

到这里发现我们如果从数据中查不到对应的用户名和密码,那么就需要重新返回到请选择的登陆还是退出的页面
所以我们需要将这部分函数抽取出来进行调用

System.out.println("---------------------欢迎登陆学生信息管理系统-----------------------");        System.out.println("1. 登陆            2. 退出");        System.out.println("-------------------------------------------------------------------");        System.out.println("请选择:");

经过修改我们最终形成了如下的逻辑

@Test    public void initCode(){        UserInterface ui = new UserInterface();        int no = ui.initLogin();        ui.login(no);    }    //第一部分是登陆,写一个登陆的函数    public int initLogin(){        System.out.println("---------------------欢迎登陆学生信息管理系统-----------------------");        System.out.println("1. 登陆            2. 退出");        System.out.println("-------------------------------------------------------------------");        System.out.println("请选择:");        int no = sc.nextInt();        return no;    }    public boolean login(int no){        if(no==1){            System.out.println("欢迎登陆");            System.out.println("请输入用户名:");            String username = sc.next();            System.out.println("请输入密码:");            String pwd = sc.next();            //这里我们从用户界面拿到了用户名和密码            //那么接下来就需要从数据库中去查询是否存在对应的用户名和密码            //那么如何将用户的数据传递到数据库中去呢            //这里我们需要一个service做中间的传递作用             Admin loginResult = as.loginService(username, pwd);             System.out.println(loginResult);            if(loginResult!=null){                System.out.println("登陆成功");                System.out.println("欢迎您  "+loginResult.getUsername());                return true;            }else{                login(1);            }        }else if(no==2){            System.out.println("即将退出系统!");        }else{            System.out.println("您的输入有误!请重新输入");            initCode();        }        return false;    }}

这里写图片描述
现在我们已经做好了登陆的部分,接下来就是功能的选择,对学生进行增删改查

package com.zt.test;import java.util.List;import java.util.Scanner;import org.junit.Test;import com.zt.entity.Admin;import com.zt.entity.Student;import com.zt.service.AdminService;import com.zt.service.StudentService;public class UserInterface {    private AdminService as = new AdminService();    private StudentService ss = new StudentService();    Scanner sc = new Scanner(System.in);    int no = -1;    Student student = null;    boolean flg ;    int id;    //写一个main函数,作为程序的入口    //这里我们因为导入了junit4包,所以直接调用这个包就行了    @Test    public void initCode(){        UserInterface ui = new UserInterface();        no = ui.initLogin();        ui.login(no);        no = initFun();        funChoose(no);    }    //第一部分是登陆,写一个登陆的函数    public int initLogin(){        System.out.println("---------------------欢迎登陆学生信息管理系统-----------------------");        System.out.println("1. 登陆            2. 退出");        System.out.println("-------------------------------------------------------------------");        System.out.println("请选择:");        no = sc.nextInt();        return no;    }    public boolean login(int no){        if(no==1){            System.out.println("欢迎登陆");            System.out.println("请输入用户名:");            String username = sc.next();            System.out.println("请输入密码:");            String pwd = sc.next();            //这里我们从用户界面拿到了用户名和密码            //那么接下来就需要从数据库中去查询是否存在对应的用户名和密码            //那么如何将用户的数据传递到数据库中去呢            //这里我们需要一个service做中间的传递作用             Admin loginResult = as.loginService(username, pwd);//           System.out.println(loginResult);            if(loginResult!=null){                System.out.println("登陆成功");                System.out.println("欢迎您  "+loginResult.getUsername());                return true;            }else{                login(1);            }        }else if(no==2){            System.out.println("即将退出系统!");        }else{            System.out.println("您的输入有误!请重新输入");            initCode();        }        return false;    }    //功能的选择    public int initFun(){        System.out.println("***********************请选择要操作的信息对应的数字*****************************");        System.out.println("*1.查看学生信息   2.添加学生信息  3.修改学生信息   4.删除学生信息  5.退出*");        System.out.println("******************************************************************************");        System.out.println("请选择:");        no = sc.nextInt();        return no;    }    public void funChoose(int no){        if(no==1){            find();        }else if(no==2){            add();        }else if(no==3){            update();        }else if(no==4){        }else{        }    }    /**     * 功能选择1:查看学生信息     */    public void find(){        System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");        System.out.println("+1.查看所有学生信息     2.根据id查询学生信息     3.返回上一层+");        System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");        System.out.println("请选择菜单:");        no = sc.nextInt();        if(no==1){            ss.findAll();        }else if(no==2){            System.out.println("请输入学生id:");            int id = sc.nextInt();            ss.findById(id);        }else{            initFun();        }    }    /**     * 功能选择2:添加学生     */    public void add(){        System.out.println("请输入学生id");        id = sc.nextInt();        //在添加之前先查找数据库中是否存在该id        student = ss.findById(id);        if(student!=null){            //如果返回的值不为空,说明该id已经存在,重新加载添加函数add()            System.out.println("此id"+student.getId()+"已经存在!");            add();        }        //如果返回的值为空,就继续添加学生的姓名,年龄等字段        System.out.println("请输入学生姓名:");        String name = sc.next();        System.out.println("请输入学生年龄:");        int age = sc.nextInt();        System.out.println("请输入学生性别:");        String sex = sc.next();        System.out.println("请输入学生年纪:");        String grade = sc.next();        System.out.println("请输入学生电话:");        String tel = sc.next();        System.out.println("请输入学生邮箱:");        String email = sc.next();        System.out.println("请输入学生地址:");        String addr = sc.next();        //添加好字段之后,组装成一个student对象,然后调用DAO中的saveStudent()方法        student = new Student(id, name, age, sex, grade, tel, email, addr);        flg = ss.save(student);        if(flg){            System.out.println("学生"+student.getId()+"添加成功,系统将返回上级....");        }    }    /**     * 功能选择3:修改学生信息     */    public void update(){        System.out.println("请输入需要修改的学生id:");        id = sc.nextInt();        //向数据库查询是否存在该学生        student= ss.findById(id);        if(student==null){            System.out.println("不存在该学生!请重新输入!!!");            update();        }        System.out.println("您要修改的学生信息为:"+student);        flg = ss.update(student);        if(flg){            System.out.println("修改成功!!!");        }    }    /*     * 功能选择4:删除学生     */    public void delete(){        System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");        System.out.println("+1.根据id删除            2.返回到上级+");        System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");        System.out.println("请选择删除方式:");        no = sc.nextInt();        if(no==1){            System.out.println("请输入要删除的学生id:");            id = sc.nextInt();            ss.delStu(id);            System.out.println("删除完毕,将自动返回上级目录");            find();        }else if(no==2){            System.out.println("将自动返回上级...");            initFun();        }else{            System.out.println("输入有误!!!");            initFun();        }    }}
原创粉丝点击