學生信息管理系統團隊博客

團隊成員介紹

團隊名稱: 取名字好難html

顧芷菱 柯智青(組長)
201521123074 201521123069
http://www.cnblogs.com/guzhiling http://www.cnblogs.com/kzq-java-markdown/


項目git提交記錄截圖

(按時間來、提交記錄、說明)java

項目git地址碼雲項目地址git

  • 2017/6/19
    說明:第一天完成大致登陸註冊功能與界面。
  • 2017/6/20
    說明:次日完成學生信息管理系統界面、添加、刪除及搜索功能。
  • 2017/6/21
    說明:第三天完善學生信息管理界面,完成修改、編輯功能。
  • 2017/6/22
    說明:第四天美化登陸及註冊界面。


項目功能架構圖與主要功能流程圖

項目功能架構圖
web

主要功能流程圖
sql



項目運行截圖

(按功能進行截圖)數據庫

  • 登陸界面:首先展示的是登錄界面,需輸入正確的帳號密碼纔可進入系統。
  • 註冊界面:沒有帳號的能夠經過註冊獲取,註冊成功後再登入便可。
  • 信息管理系統界面:展示已經存在在數據庫中的信息,並展示六個功能。
  • 添加功能(add):添加學生信息功能,既能提交到表單也能存入數據庫中。(體現學號惟一性)
  • 刪除功能(delete):刪除學生信息功能。
  • 展示功能(show):展示學生信息功能。
  • 搜索功能(search):搜索學生信息功能。
  • 編輯功能(edit):將表單上的一行信息對應填入相應文本框中,方便修改及添加。
  • 修改功能(modify):選中信息進行修改。


項目關鍵代碼

// 一行學生信息存入數據庫
    @Override
    public boolean saveInDB(Student student) {
        Connection conn = null;
        PreparedStatement pstat = null;
        String sql = "insert into student(num,name,gender,birthDate,status,address,phoneNum,dormNum)values(?,?,?,?,?,?,?,?) ";
        int result = -1;
        try {
            conn = JDBCUtil.getConnection();
            pstat = (PreparedStatement) conn.prepareStatement(sql);
            pstat.setString(1, student.getStuNo());
            pstat.setString(2, student.getStuName());
            pstat.setString(3, student.getGender());
            pstat.setString(4, student.getBirthDate());
            pstat.setString(5, student.getPoliticalStatus());
            pstat.setString(6, student.getHomeAddress());
            pstat.setString(7, student.getTelephone());
            pstat.setString(8, student.getDormitoryNumber());
            result = pstat.executeUpdate();
        } catch (SQLException sqle) {
            sqle.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            JDBCUtil.realeaseAll(null, pstat, conn);
        }

        return true;
    }

    // 根據查詢關鍵字獲取數據庫中相匹配學生信息
    @Override
    public ArrayList<Student> searchStudents(String searchKey,
            String searchValue) {
        // TODO Auto-generated method stub
        ArrayList<Student> stulist = new ArrayList<Student>();
        Connection conn = null;
        PreparedStatement pstat = null;
        ResultSet rs = null;
        String sql = "select * from student where " + searchKey + " like ?";// 表中有id和name這列
        try {
            conn = JDBCUtil.getConnection();
            pstat = conn.prepareStatement(sql);
            pstat.setString(1, searchValue);
            rs = pstat.executeQuery();
            while (rs.next()) {
                String stuNo = rs.getString("num");
                String stuName = rs.getString("name");
                String gender = rs.getString("gender");
                String birthDate = rs.getString("birthDate");
                String politicalStatus = rs.getString("status");
                String homeAddress = rs.getString("address");
                String telephone = rs.getString("phoneNum");
                String dormitoryNumber = rs.getString("dormNum");
                Student student = new Student(stuNo, stuName, gender,
                        birthDate, politicalStatus, homeAddress, telephone,
                        dormitoryNumber);
                stulist.add(student);
            }
        } catch (SQLException sqle) {
            sqle.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            JDBCUtil.realeaseAll(rs, pstat, conn);
        }
        return stulist;
    }

    // 根據學號刪除數據庫中對應信息
    @Override
    public boolean deleteStudent(String stuNo) {
        Connection conn = null;
        PreparedStatement pstat = null;
        int result = 0;
        String sql = "delete from student where num like ?";
        try {
            conn = JDBCUtil.getConnection();
            pstat = conn.prepareStatement(sql);
            pstat.setString(1, stuNo);
            result = pstat.executeUpdate();
        } catch (SQLException sqle) {
            sqle.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            JDBCUtil.realeaseAll(null, pstat, conn);
        }
        if (result != 0) {
            return true;
        } else {
            return false;
        }
    }

    // 獲取數據庫中存在的學生信息
    @Override
    public ArrayList<Student> getAllStudent() {
        // TODO Auto-generated method stub
        Connection conn = null;
        Statement stat = null;
        ResultSet rs = null;
        String sql = "select * from student";
        ArrayList<Student> stulist = new ArrayList<Student>();
        try {
            conn = JDBCUtil.getConnection();
            stat = conn.createStatement();
            rs = stat.executeQuery(sql);
            while (rs.next()) {
                String stuNo = rs.getString("num");
                String stuName = rs.getString("name");
                String gender = rs.getString("gender");
                String birthDate = rs.getString("birthDate");
                String politicalStatus = rs.getString("status");
                String homeAddress = rs.getString("address");
                String telephone = rs.getString("phoneNum");
                String dormitoryNumber = rs.getString("dormNum");
                Student student = new Student(stuNo, stuName, gender,
                        birthDate, politicalStatus, homeAddress, telephone,
                        dormitoryNumber);
                stulist.add(student);
            }
        } catch (SQLException sqle) {
            sqle.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            JDBCUtil.realeaseAll(rs, stat, conn);
        }
        return stulist;

    }

    @Override
    public Student modifyFindStudent(String stuNo) {
        // 找到數據庫中相同窗號的一行信息
        Connection conn = null;
        PreparedStatement pstat = null;
        ResultSet rs = null;
        String sql = "select * from student where num = ?";
        Student student = null;
        try {
            conn = JDBCUtil.getConnection();
            pstat = conn.prepareStatement(sql);
            pstat.setString(1, stuNo);
            rs = pstat.executeQuery();
            while (rs.next()) {
                String stuNo1 = rs.getString("num");
                String stuName = rs.getString("name");
                String gender = rs.getString("gender");
                String birthDate = rs.getString("birthDate");
                String politicalStatus = rs.getString("status");
                String homeAddress = rs.getString("address");
                String telephone = rs.getString("phoneNum");
                String dormitoryNumber = rs.getString("dormNum");
                student = new Student(stuNo1, stuName, gender, birthDate,
                        politicalStatus, homeAddress, telephone,
                        dormitoryNumber);
            }
        } catch (SQLException sqle) {
            sqle.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            JDBCUtil.realeaseAll(rs, pstat, conn);
        }
        return student;
    }

    // 將修改後的信息對應存在數據庫中的指定行
    public boolean modifySaveInDB(Student student, String stuNo) {
        Connection conn = null;
        PreparedStatement pstat = null;
        String sql = "update student set name=?,gender=?,birthDate=?,status=?,address=?,phoneNum=?,dormNum=? where num = ?";
        int result = 0;
        try {
            conn = JDBCUtil.getConnection();
            pstat = (PreparedStatement) conn.prepareStatement(sql);
            pstat.setString(1, student.getStuName());
            pstat.setString(2, student.getGender());
            pstat.setString(3, student.getBirthDate());
            pstat.setString(4, student.getPoliticalStatus());
            pstat.setString(5, student.getHomeAddress());
            pstat.setString(6, student.getTelephone());
            pstat.setString(7, student.getDormitoryNumber());
            pstat.setString(8, stuNo);
            result = pstat.executeUpdate();
        } catch (SQLException sqle) {
            sqle.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            JDBCUtil.realeaseAll(null, pstat, conn);
        }
        if (result != 0) {
            return true;
        } else {
            return false;
        }
    }

    // 修改表格上數據
    public boolean modifyInTable(int index, String[] content, String num) {
        DefaultTableModel model = (DefaultTableModel) jTable.getModel();
        model.setValueAt(num, index, 0);
        for (int i = 1; i < 8; i++) {
            model.setValueAt(content[i], index, i);
        }
        return true;
    }

}


尚待改進或者新的想法

  • 只是簡單的作成圖形界面形式,還能夠繼續改進爲web。
  • 從文件中添加數據功能還沒有實現。
  • 界面還不夠美觀。


團隊成員任務分配

顧芷菱 柯智青(組長)
登陸界面,學生信息管理系統添加,編輯及修改功能 註冊界面,學生信息管理系統界面,刪除及搜索功能
http://www.cnblogs.com/guzhiling/p/7064084.html http://www.cnblogs.com/kzq-java-markdown/p/7047289.html
相關文章
相關標籤/搜索