• Java 实现学生信息管理系统


    编写一个简单的学生管理信息系统。

    在oracle中设计一张学生表,以学号作为关键字。

    其他学生信息有:姓名、手机号。

    在进入系统时,显示如下菜单:

    **************************************************

    =====欢迎进入学生管理信息系统=====

    1. 新增学生

    2. 修改学生

    3. 删除学生

    4. 查询学生

    5. 退出系统

    请选择(1-5):

    **************************************************

    (1) 新增学生功能:

    **************************************************

    =====新增学生=====

    学号:

    姓名:

    手机号:

    保存成功!

    是否继续添加(y/n):

    *************************************************

    (2) 修改学生功能:

    **************************************************

    =====修改学生=====

    请输入要修改的学生学号:111

    该学生信息如下:

    学生学号:111

    学生姓名:张三

    学生手机号:13333333333

    请输入新的学生信息:

    学生姓名:李四

    学生手机号:13333333333

    保存成功!

    **************************************************

    (3) 删除学生功能:

    **************************************************

    =====删除学生=====

    请输入要删除的学生学号:111

    该学生信息如下:

    学生学号:111

    学生姓名:张三

    学生手机号:13333333333

    是否真的删除(y/n):y

    删除成功!

    **************************************************

    (4) 查询学生功能

    **************************************************

    =====查询学生=====

    学生信息如下:

    学号   姓名   手机号

    111 张三   13333333333

    222 李四   14444444444

    **************************************************

    编程思路:

    一、定义一个学生管理类,内有增、删、改、查4个方法。

    二、在main函数中,实例化学生管理类,并根据菜单的选项分别调用4个方法。

    三、使用PreparedStatement的参数赋值,示例如下:

    PreparedStatementpstmt = con.prepareStatement("insert into book values(?, ?, ?)");

    pstmt.setString(1, "333");

    pstmt.setString(2, "王五");

    pstmt.setString(3, "15555555555");

    pstmt.executeUpdate();

    【实现过程】

    1.数据库建stu表:

    2.设计一个学生实体类(Stu.java)

    package Stu;
    //实体类,封装学生类数据
    /**
     * @authorScatlett
     */
    publicclassStu {
    private String no;  //学号
    private String name;  //姓名
    private String phone;  //手机号
    
    //getter setter
        public String getNo() {
            returnno;
        }
        publicvoidsetNo(String no) {
            this.no = no;
        }
        public String getName() {
            returnname;
        }
        publicvoidsetName(String name) {
            this.name = name;
        }
        public String getPhone() {
            returnphone;
        }
        publicvoidsetPhone(String phone) {
            this.phone = phone;
        }
        //无参构造函数
        public Stu() {
            super();
            // TODO Auto-generated constructor stub
          }
        //有参构造函数
        public Stu(String no, String name, String phone) {
            super();
            this.no = no;
            this.name = name;
            this.phone = phone;
         }
    }

    3.创建封装一个(DBUtil.java),用于连接到Oracle数据库

    package Stu;
    
    importjava.sql.Connection;
    importjava.sql.DriverManager;
    importjava.sql.ResultSet;
    importjava.sql.SQLException;
    importjava.sql.Statement;
    
    publicclassDBUtil {
        privatestaticfinal String DRIVER_NAME = "oracle.jdbc.driver.OracleDriver";
        privatestaticfinal String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
        privatestaticfinal String USER = "scott";
        privatestaticfinal String PASS = "tiger";
    
        publicstatic Connection getCon() throwsClassNotFoundException,
                SQLException {
            Connection con = null;
    
            Class.forName(DRIVER_NAME);
    
            con = DriverManager.getConnection(URL, USER, PASS);
    
            return con;
        }
    
        publicstaticvoid close(Connection con, Statement stmt, ResultSetrs) {
            try {
                if (rs != null) {
                    rs.close();
                }
                if (stmt != null) {
                    stmt.close();
                }
                if (con != null) {
                    con.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    4.创建一个学生管理数据访问对象(StuDao.java)

    packagestudao;
    //学生管理数据访问对象StuDao
    importjava.sql.Connection;
    importjava.sql.PreparedStatement;
    importjava.sql.ResultSet;
    importjava.sql.SQLException;
    importjava.util.ArrayList;
    importjava.util.List;
    
    importStu.DBUtil;
    importStu.Stu;
    
    publicclassStuDao {
        private Connection con;
        privatePreparedStatementpstmt;
        privateResultSetrs;
        
        //添加学生信息
    publicboolean add(Stu stu) {
           String sql="insert into stu(stu_no,stu_name,phone) values(?,?,?)";
        try {
            con=DBUtil.getCon();
            pstmt=con.prepareStatement(sql);
            pstmt.setString(1, stu.getNo());
            pstmt.setString(2, stu.getName());
            pstmt.setString(3, stu.getPhone());
            pstmt.executeUpdate();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            returnfalse;
        } catch (SQLException e) {
            e.printStackTrace();
            returnfalse;
        } finally{
            DBUtil.close(con, pstmt, rs);
        }
        returntrue;
    }
    
    //查看学生列表(1所有)
    public List<Stu> list() {
           List<Stu> list=newArrayList<Stu>();//是线性列表,ArrayList是
        
           String sql="select * from stu";
        
        try {
            con=DBUtil.getCon();
            pstmt=con.prepareStatement(sql);
    //pstmt.executeUpdate();//用于增删改
            rs=pstmt.executeQuery();//用于查询
            while (rs.next()) {
                
    //Stustu=new Stu(rs.getString("stu_no"),rs.getString("stu_name"),rs.getString("phone"));
                //上行写法亦可为:
                Stu stu=new Stu();
                stu.setNo(rs.getString("stu_no"));//取结果集里面学号这一列的值赋给
                stu.setName(rs.getString("stu_name"));
                stu.setPhone(rs.getString("phone"));
                
                list.add(stu);
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally{
            DBUtil.close(con, pstmt, rs);
        }
        return list;
    }
    //查看学生列表(2根据学生学号显示学生信息)
        public Stu findSomeone(String no) {
               Stu stu=null;
               String sql="select * from stu where stu_no=?";
            
            try {
                con=DBUtil.getCon();
                pstmt=con.prepareStatement(sql);
    //pstmt.executeUpdate();//用于增删改
                pstmt.setString(1,no);
                rs=pstmt.executeQuery();//用于查询
                while (rs.next()) {
                    
    //Stustu=new Stu(rs.getString("stu_no"),rs.getString("stu_name"),rs.getString("phone"));
                    //上行写法亦可为:
                    stu=new Stu();
                    stu.setNo(rs.getString("stu_no"));//取结果集里面学号这一列的值赋给
                    stu.setName(rs.getString("stu_name"));
                    stu.setPhone(rs.getString("phone"));
                }
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally{
                DBUtil.close(con, pstmt, rs);
            }
            returnstu;
        }
    //修改学生信息
    publicboolean update(Stu stu) {
           String sql="update stu set stu_name=?,phone=? wherestu_no=?";
        try {
            con=DBUtil.getCon();
            pstmt=con.prepareStatement(sql);
            pstmt.setString(3, stu.getNo());
            pstmt.setString(1, stu.getName());
            pstmt.setString(2, stu.getPhone());
            pstmt.executeUpdate();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            returnfalse;
        } catch (SQLException e) {
            e.printStackTrace();
            returnfalse;
        } finally{
            DBUtil.close(con, pstmt, rs);
        }
        returntrue;
       }
    
    //删除学生信息
    publicboolean del(String id) {
           String sql="delete from stu where stu_no=?";
        try {
            con=DBUtil.getCon();
            pstmt=con.prepareStatement(sql);
            pstmt.setString(1,id);
            
            pstmt.executeUpdate();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            returnfalse;
        } catch (SQLException e) {
            e.printStackTrace();
            returnfalse;
        } finally{
            DBUtil.close(con, pstmt, rs);
        }
        returntrue;
       }
    }

    5.学生信息管理系统的菜单选择实现

    package Stu;
    //学生信息管理系统的菜单选择
    importjava.sql.Connection;
    importjava.util.List;
    importjava.util.Scanner;
    
    importjavax.print.DocFlavor.INPUT_STREAM;
    
    importorg.omg.CORBA.PUBLIC_MEMBER;
    
    importstudao.StuDao;
    
    publicclassStuManage {
        publicvoid  menu() {
            //1.打印菜单
            //2.输入菜单
            //3.switch菜单选择
            int choose;
            do {
                System.out.println("******************************");
                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("请选择(1-5):");
                
                Scanner scanner=new Scanner(System.in);
                choose=scanner.nextInt();
                System.out.println("******************************");
                switch (choose) {
                case 1:
                    myAdd(); //菜单选择1,是新增学生
                    break;
                case 2:
                    myUpdate();  //菜单选择2,是修改学生
                    break;
                case 3:
                    myDel();  //菜单选择3,是删除学生
                    break;
                case 4:
                    myList();  //菜单选择4,是查询学生
                    break;
                case 5:     //菜单选择5,是退出该系统
                    System.out.println("您选择了退出系统,确定要退出吗?(y/n)");
                    Scanner scan=new Scanner(System.in);
                    String scanExit=scan.next();
                    if(scanExit.equals("y")){
                    System.exit(-1);
                    System.out.println("您已成功退出系统,欢迎您再次使用!");
                    }
                    break;
                default:
                    break;
                }
            } while (choose!=5);
        }
        
        //新增学生信息
        publicvoidmyAdd() {
            
            String continute;
            do {
                Scanner s=new Scanner(System.in);
                String no,name,phone;
                System.out.println("====新增学生====");
                System.out.println("学号:");
                no=s.next();
                System.out.println("姓名:");
                name=s.next();
                System.out.println("手机号:");
                phone=s.next();
                
                Stu stu=new Stu(no,name,phone);
                StuDaodao=newStuDao();
                boolean ok=dao.add(stu);
                if (ok) {
                    System.out.println("保存成功!");
                }else {
                    System.out.println("保存失败!");
                }
                System.out.println("是否继续添加(y/n):");
                Scanner scanner2=new Scanner(System.in);
                continute=scanner2.next();
            } while (continute.equals("y"));
        }
        
        //删除学生信息
        publicvoidmyDel(){
            Scanner s=new Scanner(System.in);
            String no;
            System.out.println("====删除学生====");
            System.out.println("请输入要删除的学生学号:");
            no=s.next();
            System.out.println("该学生的信息如下:");
            
            StuDaostuDao=newStuDao();
            System.out.println("学生学号:"+stuDao.findSomeone(no).getNo());
            System.out.println("学生姓名:"+stuDao.findSomeone(no).getName());
            System.out.println("学生手机号:"+stuDao.findSomeone(no).getPhone());
            
            System.out.println("是否真的删除(y/n):");
            Scanner scanner3=new Scanner(System.in);
            String x=scanner3.next();
            if (x.equals("y")) {
                Stu stu=new Stu(no,null,null);
                StuDaodao=newStuDao();
                boolean ok=dao.del(no);
                if (ok) {
                    System.out.println("删除成功!");
                }else {
                    System.out.println("删除失败!");
                }
            }
        }
        //修改学生信息
        publicvoidmyUpdate(){
            Scanner s=new Scanner(System.in);
            String no;
            System.out.println("====修改学生====");
            System.out.println("请输入要修改的学生学号:");
            no=s.next();
            System.out.println("该学生的信息如下:");
            StuDaostuDao=newStuDao();
            System.out.println("学生学号:"+stuDao.findSomeone(no).getNo());
            System.out.println("学生姓名:"+stuDao.findSomeone(no).getName());
            System.out.println("学生手机号:"+stuDao.findSomeone(no).getPhone());
            
            System.out.println("请输入新的学生信息:");
            Scanner stuUp=new Scanner(System.in);
            String name,phone;
            System.out.println("学生姓名:");
            name=stuUp.next();
            System.out.println("学生手机号:");
            phone=stuUp.next();
            Stu stu=new Stu(no,name,phone);
            StuDaodao=newStuDao();
            boolean ok=dao.update(stu);
            if (ok) {
                System.out.println("保存成功!");
            }else {
                System.out.println("保存失败!");
            }
        }
        //查询学生信息
        publicvoidmyList(){
            System.out.println("************************");
            System.out.println("====查询学生====");
            System.out.println("该学生的信息如下:");
            System.out.println("学号	姓名	手机号");
            StuDaostuDao=newStuDao();
            List<Stu> list=stuDao.list();
            for (Stu stuList:list) { //循环打印出查询结果
                System.out.println(stuList.getNo()+"	"+stuList.getName()+"	"+stuList.getPhone());
            }
            System.out.println("************************");
        }
    }

    6.最后编写一个主函数测试类

    package Stu;
    //主函数测试类
    publicclass Main {
        /**
         * @paramargs
         */
        publicstaticvoid main(String[] args) {
            StuManage s=newStuManage();
            s.menu();
        }
    }

    7.程序测试结果截图:

    (1)  新增学生信息

    (2)  修改学生信息

     

    (3)  删除学生信息

    (4)  查询学生信息

     

      

  • 相关阅读:
    Python驱动SAP GUI完成自动化(三)
    Python驱动SAP GUI完成自动化(选择布局+动态获取节点值)
    python中如何将货币数字转化成汉字大写金额
    python requests无法上传中文文件名的文件
    requests库结合selenium库共同完成web自动化和爬虫工作
    利用python第三方库提取PDF文件的表格内容
    pyinstaller打包exe文件闪退的解决办法
    pandas数据分析小知识点(一)
    java 终端输入小结,输入到数组、文件等(持续更新)
    Maven jenkins +Jmeter自动化测试
  • 原文地址:https://www.cnblogs.com/shenxiaolin/p/5723868.html
Copyright © 2020-2023  润新知