21xrx.com
2024-12-23 02:57:14 Monday
登录
文章检索 我的文章 写文章
JavaSE基础项目实战: 创建一个学生信息管理系统
2023-06-19 07:31:11 深夜i     --     --
JavaSE 学生信息管理 MySQL

学生信息管理系统是一个基础项目,它可以帮助你学习JavaSE编程语言的核心概念和常用类库。 在本文中,我们将采用面向对象的编程方式,用JavaSE开发一个学生信息管理系统,并运用MySQL数据库进行信息的存储和查询。

为了编写这个学生信息管理系统,我们需要进行一些准备工作。 我们先创建一个名为Student的类,Student类将包含学生的基本信息,如学号、姓名、性别、联系方式和班级等信息。

首先,我们需要声明Student类并定义它的属性。 在这个例子中,我们将创建一个Java类,名为Student,这个类将拥有以下属性:

* 学号 (id)- Integer

* 姓名 (name) - String

* 性别 (gender) - String

* 联系方式 (phone) - String

* 班级 (className) - String


public class Student {

  private Integer id;

  private String name;

  private String gender;

  private String phone;

  private String className;

  // 构造函数

  public Student(Integer id, String name, String gender, String phone, String className)

    this.id = id;

    this.name = name;

    this.gender = gender;

    this.phone = phone;

    this.className = className;

  

  // getter 和 setter 方法

  public Integer getId()

    return id;

  

  public void setId(Integer id)

    this.id = id;

  

 

  public String getName()

    return name;

  

  

  public void setName(String name)

    this.name = name;

  

  public String getGender()

    return gender;

  

  public void setGender(String gender)

    this.gender = gender;

  

  public String getPhone()

    return phone;

  

  public void setPhone(String phone)

    this.phone = phone;

  

  public String getClassName()

    return className;

  

  public void setClassName(String className)

    this.className = className;

  

}

我们在这里定义了Student类的五个属性和一个构造方法,一个构造方法用于初始化这些属性。

接下来,我们需要编写一个操作Student对象的类,然后在这个类中编写一些方法以实现对学生信息的管理和存储操作。


import java.sql.*;

public class StudentDao {

  private Connection conn = null;

  public StudentDao() {

    try {

      Class.forName("com.mysql.jdbc.Driver");

      String url = "jdbc:mysql://localhost:3306/student";

      String user = "root";

      String password = "123456";

      conn = DriverManager.getConnection(url, user, password);

    } catch (Exception e) {

      e.printStackTrace();

    }

  }

  

  public void close() {

    try {

      if (conn != null) {

        conn.close();

      }

    } catch (Exception e) {

      e.printStackTrace();

    }

  }

  // 添加学生

  public boolean addStudent(Student student) {

    String sql = "insert into student(id, name, gender, phone, class_name) values (?, ?, ?, ?, ?)";

    try {

      PreparedStatement pstmt = conn.prepareStatement(sql);

      pstmt.setInt(1, student.getId());

      pstmt.setString(2, student.getName());

      pstmt.setString(3, student.getGender());

      pstmt.setString(4, student.getPhone());

      pstmt.setString(5, student.getClassName());

      pstmt.executeUpdate();

      System.out.println("添加成功! ");

      pstmt.close();

      return true;

    } catch (Exception e) {

      e.printStackTrace();

    }

    return false;

  }

  // 删除学生

  public boolean deleteStudent(int id) {

    String sql = "delete from student where id = ?";

    try {

      PreparedStatement pstmt = conn.prepareStatement(sql);

      pstmt.setInt(1, id);

      pstmt.executeUpdate();

      System.out.println("删除成功");

      pstmt.close();

      return true;

    } catch (Exception e) {

      e.printStackTrace();

    }

    return false;

  }

  // 修改学生信息

  public boolean updateStudent(Student student) {

    String sql = "update student set name = ?, gender = ?, phone = ?, class_name = ? where id = ?";

    try {

      PreparedStatement pstmt = conn.prepareStatement(sql);

      pstmt.setString(1, student.getName());

      pstmt.setString(2, student.getGender());

      pstmt.setString(3, student.getPhone());

      pstmt.setString(4, student.getClassName());

      pstmt.setInt(5, student.getId());

      pstmt.executeUpdate();

      System.out.println("更新成功! ");

      pstmt.close();

      return true;

    } catch (Exception e) {

      e.printStackTrace();

    }

    return false;

  }

  // 查询学生信息

  public Student getStudent(int id) {

    String sql = "select * from student where id = ?";

    try {

      PreparedStatement pstmt = conn.prepareStatement(sql);

      pstmt.setInt(1, id);

      ResultSet rs = pstmt.executeQuery();

      if (rs.next()) {

        Integer stdId = rs.getInt("id");

        String stdName = rs.getString("name");

        String stdGender = rs.getString("gender");

        String stdPhone = rs.getString("phone");

        String stdClassName = rs.getString("class_name");

        Student student = new Student(stdId, stdName, stdGender, stdPhone, stdClassName);

        rs.close();

        pstmt.close();

        return student;

      }

    } catch (Exception e) {

      e.printStackTrace();

    }

    return null;

  }

}

通过定义StudentDAO类,在这里我们可以用addStudent方法添加学生数据,用deleteStudent方法删除学生数据,用updateStudent方法来更新学生数据,用getStudent方法查询学生数据。

接下来,我们将这些代码组合起来,创建一个学生信息管理系统。 我们将通过控制台来操作这个学生信息管理系统,实现对学生的添加、删除、修改和查询。


import java.util.Scanner;

public class StudentManagement {

  public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    System.out.println("欢迎使用学生信息管理系统: ");

    StudentDao dao = new StudentDao();

    boolean isExit = false;

    while (!isExit) {

      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("请选择您要进行的操作: ");

      int choice = scanner.nextInt();

      switch (choice) {

        case 1:

          System.out.println("请输入学生 ID");

          Integer id = scanner.nextInt();

          System.out.println("请输入学生姓名");

          String name = scanner.next();

          System.out.println("请输入学生性别");

          String gender = scanner.next();

          System.out.println("请输入学生电话");

          String phone = scanner.next();

          System.out.println("请输入学生班级");

          String className = scanner.next();

          Student student = new Student(id, name, gender, phone, className);

          dao.addStudent(student);

          break;

        case 2:

          System.out.println("请输入学生 ID");

          int idToDel = scanner.nextInt();

          dao.deleteStudent(idToDel);

          break;

        case 3:

          System.out.println("请输入学生 ID");

          int idToUpdate = scanner.nextInt();

          Student studentToUpdate = dao.getStudent(idToUpdate);

          if (studentToUpdate != null) {

            System.out.println("请输入姓名");

            String nameToUpdate = scanner.next();

            System.out.println("请输入性别");

            String genderToUpdate = scanner.next();

            System.out.println("请输入电话");

            String phoneToUpdate = scanner.next();

            System.out.println("请输入班级");

            String classNameToUpdate = scanner.next();

            studentToUpdate.setName(nameToUpdate);

            studentToUpdate.setGender(genderToUpdate);

            studentToUpdate.setPhone(phoneToUpdate);

            studentToUpdate.setClassName(classNameToUpdate);

            dao.updateStudent(studentToUpdate);

          } else {

            System.out.println("没有该学生信息");

          }

          break;

        case 4:

          System.out.println("请输入学生 ID");

          int idToFind = scanner.nextInt();

          Student studentToFind = dao.getStudent(idToFind);

          if (studentToFind != null) {

            System.out.println(studentToFind.toString());

          } else {

            System.out.println("没有该学生信息");

          }

          break;

        case 5:

          System.out.println("谢谢使用!");

          dao.close();

          isExit = true;

          break;

        default:

          System.out.println("请输入有效选项");

      }

    }

  }

}

通过编写这些代码,我们完成了一个最基本的学生信息管理系统,我们可以通过这个系统来添加学生信息、删除学生信息、修改学生信息和查询学生信息。 现在,您可以将这些代码在您的JavaSE开发环境中编译和运行。

3个

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复