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("學號\t姓名\t手機號");
        StuDaostuDao=newStuDao();
        List<Stu> list=stuDao.list();
        for (Stu stuList:list) { //循環打印出查詢結果
            System.out.println(stuList.getNo()+"\t"+stuList.getName()+"\t"+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)  查詢學生信息

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM