java+mysql 实现学生信息管理系统

引言:Java实现学生信息管理系统,主要有一种是GUI图形界面实现,另一种是控制台输出,还有java web实现的,(基于Maven)甚至用SSM框架实现,springboot等都是可以的,但底层语言都是用的Java 语言,如果有需要类似的学生信息管理系统或者需要源码,无论是使用eclipse\myeclipse\idea开发,不管Java GUI图形界面,还是控制台实现、java web (MVC)实现,甚至SSM框架、springBoot等可以加我QQ(1728608455)Pramgram.


开发工具:eclipse/myEclipse/idea。

数据库:Mysql5.7,Navicat免费版。

开发环境:jdk1.8.


本次主要介绍使用Java语言实现学生信息管理系统,采用控制台输出,完成主要的增删改查功能,使用的开发工具主要用eclipse、navicat、mysql数据库另外介绍使用GUI图形 界面实现,Java  web等就不再介绍了,万变不离根本,希望本次的项目开发能够帮到那些初学者的Java爱好者们。


效果图部分展示:

这是控制台数输出的主界面显示

java+mysql 实现学生信息管理系统_第1张图片

 以下这个是项目架构图

java+mysql 实现学生信息管理系统_第2张图片

 


1、数据表设计

三个字段(学号,姓名,手机号)

表名为student,不弄那么多繁琐的字段了,省的麻烦,没有主键,id为学号,为了方便都是varchar(10)类型。


2、项目搭建(Java Project)

随意创建一个edu.jmi的package,和一个lib包里面了放了,mysql的jar包,mysql驱动,用来连接数据库,这个包里主要有DBUtils主要放着连接数据库的类,Student类、Main类、StuDao类。


3、各个类的代码实现:

(1):DBUtils类

public class DBUtils {
    final static String DRIVER="com.mysql.jdbc.Driver";
    final static String URL="jdbc:mysql://localhost:3306/test02?useUnicode=true&characterEncoding=utf-8";
    final static String USER="root";
    final static String PASSWORD="123456";
    public static Connection getConnection(){
        try{
            Class.forName(DRIVER);
            Connection connection=DriverManager.getConnection(URL,USER,PASSWORD);
            //System.out.println("连接成功");
            return connection;
        }catch(Exception e){
            e.printStackTrace();
            return null;
        }
    }
    
    public static void closeConnection(Connection con){
        try{
            con.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    } 
    }

很明显这是连接数据库的,连接数据库注意数据库名字不要写错。


(2)Student实体类

package edu.jmi;

public class Student {
    
    private String id;

    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    private String name;

    private String phone;
    
      //无参构造函数
    public Student() {
        super();
        // TODO Auto-generated constructor stub
      }
    //有参构造函数
    public Student(String id, String name,String phone) {
        super();
        this.id = id;
        this.name = name;
        this.phone = phone;
     }


}

setter和getter方法主要用于调用对象实现传参数和获取参数的。


(3)StuDao类

public class StuDao {
     Connection con=null;
        //添加学生信息
    public boolean add(Student stu) {
           String sql="insert into student(id,name,phone) values(?,?,?)";
        try {
           con=DBUtils.getConnection();
            PreparedStatement pstmt=con.prepareStatement(sql);
           // System.out.println(con);
            pstmt=con.prepareStatement(sql);
            pstmt.setString(1, stu.getId());
            pstmt.setString(2, stu.getName());
            pstmt.setString(3,stu.getPhone());
            pstmt.execute();
        } catch (Exception e) {
            e.printStackTrace();
            return false;       
        } finally{
            DBUtils.closeConnection(con);
        }
        return true;
    }

    //查看学生列表(1所有)
    public List list() {
           List list=new ArrayList();//是线性列表,ArrayList是
        try {
                con=DBUtils.getConnection();
                String sql="select * from student";
                PreparedStatement pst=con.prepareStatement(sql);
                ResultSet rs=pst.executeQuery();
                while(rs.next()){//ֹ
                Student stu=new Student();
                stu.setId(rs.getString("id"));
                stu.setName(rs.getString("name"));
                stu.setPhone(rs.getString("phone"));
                list.add(stu);
                
                }
        } catch (Exception e) {
            e.printStackTrace();
        } finally{
            DBUtils.closeConnection(con);
        }
        return list;
    }

public Student FindById(String id) {
         try{
                con=DBUtils.getConnection();
                   String sql="select * from student where id=?";
                   PreparedStatement pst=con.prepareStatement(sql);
                   pst.setString(1,id);
                   ResultSet rs=pst.executeQuery();
                   if(rs.next()){
                       Student stu=new Student();
                       stu.setId(rs.getString("id"));
                       stu.setName(rs.getString("name"));
                       stu.setPhone(rs.getString("phone"));
                       return stu;
                   }else{
                       return null;
                   }
               }catch(Exception e){
                   e.printStackTrace();
                   return null;
               }finally{
                   DBUtils.closeConnection(con);
               }
          
        }


    public boolean update(Student stu ,String id) {
       
           try{
               con=DBUtils.getConnection();
             String sql="update student set  name=?,phone=? where id=?";
            PreparedStatement pst=con.prepareStatement(sql);
            pst.setString(1,stu.getName());
            pst.setString(2,stu.getPhone());
            pst.setString(3,id);
            pst.execute();
            return true;
         }catch(Exception e){
             e.printStackTrace();
             return false;
         }finally{
             DBUtils.closeConnection(con);
         }
}
       
//删除学生信息
public boolean delete(String id) {
        try {
            con=DBUtils.getConnection();
            String sql="delete from student where id=?";
            PreparedStatement pst=con.prepareStatement(sql);
            pst.setString(1,id);
            pst.executeUpdate();
      
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        } finally{
            DBUtils.closeConnection(con);
        }
        return true;
       }
    
    
    public static void main (String args[]) {
        StuDao dao=new StuDao();
        Student stu=dao.FindById("2");
        System.out.print(stu.getName()+","+stu.getPhone());
        Student student=new Student();
        student.setId("2");
        student.setName("xioaxueidi");
        student.setPhone("17766091168");
        //dao.add(student);*/
        //boolean b=dao.update(student, "2");
        //boolean b=dao.delete("1");
        //System.out.print(b);
    }
    
}
StuDao主要用于写的增删改查的四个功能,包括模糊查询等


(4)Main类

public class Main {
     public void  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.out.println("您已成功退出系统,欢迎您再次使用!");
                    System.exit(0);
                    }
                    break;
                default:
                    break;
                }
            } while (choose!=5);
        }
        
        //新增学生信息
        public void myAdd() {            
                    String continute;
          do {
                Scanner s=new Scanner(System.in);
                String id,name,phone;
                System.out.println("====新增学生====");
                System.out.println("学号:");
                id=s.next();
                System.out.println("姓名:");
                name=s.next();
                System.out.println("手机号:");
                phone=s.next();
             
                Student stu=new Student(id,name,phone);
                StuDao dao=new StuDao();
                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"));
        }
        
        //删除学生信息
        public void myDel(){
            Scanner s=new Scanner(System.in);
            String id;
            System.out.println("====删除学生====");
            System.out.println("请输入要删除的学生学号:");
            id=s.next();
            System.out.println("该学生的信息如下:");
            StuDao dao=new StuDao();
            System.out.println("学生学号:"+dao.FindById(id).getId());
            System.out.println("学生姓名:"+dao.FindById(id).getName());
            System.out.println("学生手机号:"+dao.FindById(id).getPhone());
            
            System.out.println("是否真的删除(y/n):");
            Scanner scanner3=new Scanner(System.in);
            String x=scanner3.next();
            if (x.equals("y")) {
                Student stu=new Student(id,null,null);
              
                boolean ok=dao.delete(id);
                if (ok) {
                    System.out.println("删除成功!");
                }else {
                    System.out.println("删除失败!");
                }
            }
        }
        //修改学生信息
        public void myUpdate(){
            Scanner s=new Scanner(System.in);
            String id;
            System.out.println("====修改学生====");
            System.out.println("请输入要修改的学生学号:");
            id=s.next();
            System.out.println("该学生的信息如下:");
            StuDao dao=new StuDao();
            System.out.println("学生学号:"+dao.FindById(id).getId());
            System.out.println("学生姓名:"+dao.FindById(id).getName());
            System.out.println("学生手机号:"+dao.FindById(id).getPhone());
            
            System.out.println("请输入新的学生信息:");
            Scanner StudentUp=new Scanner(System.in);
            String name,phone;
            System.out.println("学生姓名:");
            name=StudentUp.next();
            System.out.println("学生手机号:");
            phone=StudentUp.next();
            Student stu=new Student(id,name,phone);
            //StuDao dao=new StuDao();
            boolean ok=dao.update(stu, id);
            if (ok) {
                System.out.println("保存成功!");
            }else {
                System.out.println("保存失败!");
            }
        }
        //查询学生信息
        public void myList(){
            System.out.println("************************");
            System.out.println("====查询学生====");
            System.out.println("该学生的信息如下:");
            System.out.println("学号\t姓名\t手机号");
            StuDao dao=new StuDao();
            List list=dao.list();
            for (Student stuList:list) { //循环打印出查询结果
                System.out.println(stuList.getId()+"\t"+stuList.getName()+"\t"+stuList.getPhone());
            }
            System.out.println("**");
        }


    public static void main(String[] args) {
        Main m=new Main();
        m.menu();
        
    }


    }

Main类是运行的run application


(5)效果图展示:

java+mysql 实现学生信息管理系统_第3张图片



java+mysql 实现学生信息管理系统_第4张图片


7,我也会做GUI图形界面的Java 学生信息管理系统或者类似的,以下是效果图,需要的可以找我

java+mysql 实现学生信息管理系统_第5张图片

希望能帮到大家,谢谢

 


 

 

 

 

你可能感兴趣的:(Java)