zoukankan      html  css  js  c++  java
  • 学生管理系统----待续二

    到这里我们已经准备好了直接和数据库中的表打交道的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();
            }
        }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    }
    
    欢迎关注我的公众号:小秋的博客 CSDN博客:https://blog.csdn.net/xiaoqiu_cr github:https://github.com/crr121 联系邮箱:rongchen633@gmail.com 有什么问题可以给我留言噢~
  • 相关阅读:
    Codeforces Round #366 (Div. 2)
    Codeforces Round #367 (Div. 2)
    带权并查集小练
    Codeforces Round #368 (Div. 2)
    Codeforces Round #396 (Div. 2)
    Codeforces Round #376 (Div. 2)
    工作流
    程序员之江湖感想
    工作流设计简介
    程序员常去的103个网站
  • 原文地址:https://www.cnblogs.com/flyingcr/p/10428307.html
Copyright © 2011-2022 走看看