Java课设--学生信息管理系统(例1)

文章目录

  • 前提
  • 一、运行效果
  • 二、Text实现类
  • 三、Manage选择类
  • 四、StudentWay学生方法类
  • 五、StudnetSql数据库类


前题

例1为无使用GUI图形界面,例2使用GUI图形界面!

首先自己的JDBC驱动已经接好了,连接自己的数据库没有问题。连接数据库可以看其他博主教程,不是很难。

其次我用的是idea+SQL Server数据库。

最后我的数据的库名称为stu,表名称为student,可以自己创建一张,内容如下:


一、运行效果

 

  

所需四个类如下:

 

 

 


 

二、Text实现类

Text为实现所有类,含有main方法,源代码如下:

package 自我课设;

public class Text {
    public static void main(String[] args) {
        Manage manage = new Manage();
        manage.manager();
    }
}

  


三、Manage选择类

用于选择6种方法,运用case来选择,源代码如下:

package 自我课设;

import java.util.*;
public class Manage {
    public void manager(){
        StudentWay studentWay = new StudentWay();
        Scanner in = new Scanner(System.in);
        int flag = 0;
        while(true) {
            studentWay.printManage();
            System.out.println(" 请输入要执行的操作:");
            flag = in.nextInt();
            in.nextLine();
            if(flag == 6) break;
            else {
                switch (flag) {
                    case 1://查询全部
                        studentWay.selectStudent();
                        break;
                    case 2://添加信息
                        studentWay.addStudent();
                        break;
                    case 3://删除学生信息
                        studentWay.deleteStudent();
                        break;
                    case 4://修改学生信息
                        studentWay.updateStudent();
                        break;
                    case 5://查询相关信息
                        studentWay.selectOther();
                        break;
                }
            }
        }
    }
}

 


四、StudentWay学生方法类

写好增删查改的方法给到Manage去调用,源代码如下:

package 自我课设;

import java.util.Scanner;

public class StudentWay {
    StudentSql sql = new StudentSql();

    Scanner in = new Scanner(System.in);
    String sno = "", sname = " ", sex = " ", sage = " ", dept = " ";

    //输出界面图
    public void printManage() {
        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("                     6.退出                              ");
        System.out.println("--------------------------------------------------------");
    }

    //查询学生信息
    public void selectStudent() {
        System.out.println("查询全体学生信息:");
        System.out.print(sql.QuerySQL());
    }

    //删除学生信息
    public void deleteStudent() {
        System.out.println("请输入要删除的学生的学号:");
        sno = in.nextLine();
        System.out.print(sql.delete_student(sno));
    }

    //添加学生信息
    public void addStudent() {
        System.out.println("请输入要添加的学生的信息(以单个空格隔开):");
        String str = in.nextLine();
        String[] S = str.split(" ");
        sno = S[0];
        sname = S[1];
        sex = S[2];
        sage = S[3];
        dept = S[4];
        System.out.print(StudentSql.insert_student(sno, sname, sex, sage, dept));
    }

    //修改学生信息
    public void updateStudent() {
        System.out.println("请输入要修改的学生的学号:");
        sno = in.nextLine();
        System.out.println("请输入学生姓名、性别、年龄、学院,以单个空格隔开(学号不可修改):");
        String str2 = in.nextLine();
        String[] S2 = str2.split(" ");
        sname = S2[0];
        sex = S2[1];
        sage = S2[2];
        dept = S2[3];
        StudentSql.update_student(sno, sname, sex, sage, dept);
        System.out.println("修改成功!");
    }

    //查询分类的学生信息
    public void selectOther() {
        System.out.println(" 1.按学院查询   ");
        System.out.println(" 2.按学号查询  ");
        System.out.println(" 3.按性别查询  ");
        int FLG = Integer.parseInt(in.nextLine());
        //in.nextInt();
        switch (FLG) {
            case 1://按学院查询
                System.out.println("要查询的学院:");
                String temp_xueyuan = in.nextLine();
                System.out.print(sql.QuerySQL_dept(temp_xueyuan));
                break;
            case 2://按学号查询
                System.out.println("要查询学生的学号:");
                String temp_sno = in.nextLine();
                System.out.print(sql.QuerySQL_sno(temp_sno));
                break;
            case 3://按性别查询
                System.out.println("要查询的性别:");
                String temp_sex = in.nextLine();
                System.out.print(sql.QuerySQL_sex(temp_sex));
                break;
        }
    }
}


五、StudnetSql数据库类

StudentSql类写数据库的语句对数据库直接进行操作,然后给StudnetWay调用,源代码如下:

package 自我课设;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class StudentSql
{
    //连接数据库
    private static Connection getSQLConnection(String db,String user, String pwd)
    {
        Connection con = null;
        try
        {
            //Class.forName("net.sourceforge.jtds.jdbc.Driver");  查看驱动器JDBC是否导入成功
            //con = DriverManager.getConnection("jdbc:jtds:sqlserver://" + ip + ":1433/" + db + ";charset=utf8", user, pwd);
            //jdbc:jtds:sqlserver://localhost:1433/dbname
            //解决输出中文乱码
            con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;encrypt=false;DatabaseName="+ db , user, pwd);

        }catch (SQLException e) {
            e.printStackTrace();
        }
        return con;
    }

    //查询学生信息
    public static String QuerySQL()
    {
        String result = "";
        try
        {
            Connection conn = getSQLConnection("stu","sa","123456");
            String sql = "select  *from student";
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(sql);
            System.out.println("学号   姓名   性别   年龄   学院");
            //System.out.println(rs);
            while (rs.next())
            {//学号、姓名、性别、年龄、学院
                String s1 = rs.getString("sno");
                String s2 = rs.getString("sname");
                String s3 = rs.getString("ssex");
                String s4 = rs.getString("sage");
                String s5 = rs.getString("dept");
                result += s1 + "  " + s2 + "  " + s3 + "  " + s4+ "  " + s5+" "+"\n";
            }
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException e)
        {
            e.printStackTrace();
            result += "数据输入异常!" + e.getMessage()+"\n";
        }
        return result;
    }

    //添加学生信息
    public static String insert_student(String sno, String name, String sex, String sage,String dept)
    {//学号、姓名、性别、年龄、学院
        String result = "";
        try
        {
            Connection conn = getSQLConnection("stu","sa","123456");
            String sql = "insert into  student values ('"+sno+"','"+name+"','"+sex+"','"+sage+"','"+dept+"');";
            Statement stmt = conn.createStatement();
            stmt.executeUpdate(sql);


            stmt.close();
            conn.close();
            result+="添加成功!"+"\n";
        } catch (SQLException e)
        {
            e.printStackTrace();
            result += "数据输入异常!" + e.getMessage()+"\n";
        }
        return result;
    }

    //删除学生信息
    public static String delete_student(String sno)
    {//学号、姓名、性别、年龄、学院
        String result = "";
        try
        {
            Connection conn =  getSQLConnection("stu","sa","123456");
            String sql = "delete student where sno = " + sno;
            Statement stmt = conn.createStatement();
            stmt.executeUpdate(sql);
            stmt.close();
            conn.close();
            result+="删除成功!\n";
        } catch (SQLException e)
        {
            e.printStackTrace();
            result += "数据输入异常!" + e.getMessage()+"\n";
        }
        return result;
    }

    //按学号修改
    public static String update_student(String sno, String name, String sex, String sage,String dept){
        //学号、姓名、性别、年龄、学院
        String result = "";
        try
        {
            Connection conn = getSQLConnection("stu","sa","123456");
            String sql = "update student set sname='"+name+"',ssex='"+sex+"',sage='"+sage+"',dept='"+dept+"'" +
                    " where sno='"+sno+"' ";
            Statement stmt = conn.createStatement();
            stmt.executeUpdate(sql);
            stmt.close();
            conn.close();
            result+="修改成功!"+"\n";
        } catch (SQLException e)
        {
            e.printStackTrace();
            result += "数据输入异常!" + e.getMessage()+"\n";
        }
        return result;
    }


    //按学号查询
    public static String QuerySQL_sno(String sno)
    {
        String result = "";
        try
        {
            Connection conn =  getSQLConnection("stu","sa","123456");
            String sql = "select *from student where sno = '"+ sno+"';";
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(sql);

            while (rs.next())
            {//学号、姓名、性别、年龄、学院
                String s1 = rs.getString("sno");
                String s2 = rs.getString("sname");
                String s3 = rs.getString("ssex");
                String s4 = rs.getString("sage");
                String s5 = rs.getString("dept");
                result += s1 + "  " + s2 + "  " + s3 + "  " + s4+ "  " + s5+" "+"\n";
            }
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException e)
        {
            e.printStackTrace();
            result += "数据输入异常!" + e.getMessage()+"\n";
        }
        return result;
    }

    //按性别查询
    public static String QuerySQL_sex(String sex)
    {
        String result = "";
        try
        {
            Connection conn =  getSQLConnection("stu","sa","123456");
            String sql = "select * from student where ssex = '"+sex+"';";
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(sql);
            while (rs.next())
            {//学号、姓名、性别、年龄、学院
                String s1 = rs.getString("sno");
                String s2 = rs.getString("sname");
                String s3 = rs.getString("ssex");
                String s4 = rs.getString("sage");
                String s5 = rs.getString("dept");
                result += s1 + "  " + s2 + "  " + s3 + "  " + s4+ "  " + s5+" "+"\n";
            }
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException e)
        {
            e.printStackTrace();
            result += "数据输入异常!" + e.getMessage()+"\n";
        }
        return result;
    }
    //按学院查询
    public static String QuerySQL_dept(String dept)
    {
        String result = "";
        try
        {
            Connection conn =  getSQLConnection("stu","sa","123456");
            String sql = "select * from student where dept = '"+ dept +"';";
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(sql);

            //System.out.println(rs);
            while (rs.next())
            {//学号、姓名、性别、年龄、学院
                String s1 = rs.getString("sno");
                String s2 = rs.getString("sname");
                String s3 = rs.getString("ssex");
                String s4 = rs.getString("sage");
                String s5 = rs.getString("dept");
                result += s1 + "  " + s2 + "  " + s3 + "  " + s4+ "  " + s5+" "+"\n";
                // System.out.println(s1 + "  -  " + s2);
            }
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException e)
        {
            e.printStackTrace();
            result += "数据输入异常!" + e.getMessage()+"\n";
        }
        return result;
    }

}


如果这篇文章对你有帮助,请不要忘了点赞收藏加关注哦!!! 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章 记忆测试软件1.1. 设计内容1.2. 设计要求1.3. 总体设计1.4. 具体设计1.4.1. 运行效果与程序发布1.4.2. 主类Memory1.4.3. 方块 Block1.4.4. 记忆测试板MemoryTestPane1.4.5. 显示成绩 ShowRecord1.4.6. 记录成绩 Record1.4.7. 随机排列图标 RandomSetIcon1.4.8. 测试者 People1.5. 课程设计作业第2章 计算器2.1. 设计内容2.2. 设计要求2.3. 总体设计2.4. 具体设计2.4.1. 运行效果与程序发布2.4.2. 主类 ComputerPad2.4.3. 数值按钮NumberButton2.4.4. 运算符号按钮OperationButton2.5. 课程设计作业第3章 HANNOI-塔3.1. 设计内容3.2. 设计要求3.3. 总体设计3.4. 具体设计3.4.1. 运行效果与程序发布3.4.2. 主类 Tower3.4.3. Hannoi-塔 HannoiTower3.4.4. 塔点 TowerPoint3.4.5. 盘子 Disk3.5. 课程设计作业第4章 JPEG图象生成器4.1. 设计内容4.2. 设计要求4.3. 总体设计4.4. 具体设计4.4.1. 运行效果与程序发布4.4.2. 主类 MakeJPEG.java4.5. 课程设计作业第5章 标准化考试系统 (单机版)5.1. 设计内容5.2. 设计要求5.3. 总体设计5.4. 具体设计5.4.1. 运行效果与程序发布5.4.2. 主类EnglishTest5.4.3. 考试区域TestArea5.4.4. 读取试题 ReadTestquestion5.5. 课程设计作业第6章 标准化考试系统 (C/S网络版)6.1. 设计内容6.2. 设计要求6.3. 总体设计6.4. 具体设计6.4.1. 运行效果与程序发布6.4.2. 客户端主类Client6.4.3. 客户端选择试题界面ChoiceFile6.4.4. 客户端考试界面ClientTestArea6.4.5. 服务器端主类Server6.4.6. 服务器端读取试题 ReadTestquestion6.5. 课程设计作业第7章 标准化考试系统 (B/S网络版)7.1. 设计内容7.2. 设计要求7.3. 总体设计7.4. 具体设计7.4.1. 运行效果与程序发布7.4.2. 客户端主类ClientBS7.4.3. 客户端选择试题界面ChoiceFile7.4.4. 客户端考试界面ClientTestArea7.4.5. 服务器端主类Server7.4.6. 服务器端读取试题 ReadTestquestion7.5. 课程设计作业第8章 日历记事本8.1. 设计内容8.2. 设计要求8.3. 总体设计8.4. 具体设计8.4.1. 运行效果与程序发布8.4.2. 主类CalendarPad8.4.3. 记事本NotePad8.4.4. 年Year8.4.5. 月Month8.5. 课程设计作业18.6. 课程设计作业2第9章 学籍管理系统9.1. 设计内容9.2. 设计要求9.3. 总体设计9.4. 具体设计9.4.1. 运行效果与程序发布9.4.2. 主类StudentManager9.4.3. 录入界面StudentSituation9.4.4. 查询界面Inquest9.4.5. 修改界面ModifySituation9.4.6. 删除界面Delete9.4.7. 学生对象Student9.5. 课程设计作业第10章 图书查询系统 (B/S网络版)10.1. 设计内容10.2. 设计要求10.3. 总体设计10.4. 具体设计10.4.1. 运行效果与程序发布10.4.2. 客户端主类DatabaseClient10.4.3. 服务器端主类DatabaseServer10.5. 课程设计作业第11章 中国象棋打谱软件11.1. 设计内容11.2. 设计要求11.3. 总体设计11.4. 具体设计11.4.1. 运行效果与程序发布11.4.2. 主类 Chess11.4.3. 对弈棋盘ChessBoard11.4.4. 棋子ChessPiece11.4.5. 棋点 ChessPoint11.4.6. 走棋法则Rule11.4.7. 步骤MoveStep11.4.8. 记录棋谱MakeChessManual11.4.9. 棋谱演示Demon11.5. 课程设计作业111.6. 课程设计作业2第12章 魔板游戏12.1. 设计内容12.2. 设计要求12.3. 总体设计12.4. 具体设计12.4.1. 运行效果与程序发布12.4.2. 主类PuzzleFrame12.4.3. 魔板PuzzlePad12.4.4. 魔板中的点SquarePoint12.5. 课程设计作业第13章 挖雷游戏13.1. 设计内容13.2. 设计要求13.3. 总体设计13.4. 具体设计13.4.1. 运行效果与程序发布13.4.2. 主类Game13.4.3. 方块 Block13.4.4. 雷区 MineSquare13.4.5. 雷标数目 FindAroundMineMarkNumber13.4.6. 雷标判断 DetermineMineMarkIsRightOrWrong13.4.7. 成片挖开区域 DetermineDigArea13.4.8. 无雷连通区 FindSafeArea13.4.9. 随机布雷 RandomSetMine13.4.10. 周围地雷个数FindAroundMineNumber13.4.11. 显示剩余雷数CountMine13.4.12. 计时器TimeCount13.4.13. 英雄榜录入对话框Record13.4.14. 显示英雄榜对话框ShowRecord13.4.15. 挖雷成功DecideWinner13.5. 课程设计作业第14章 网络聊天室 (B/S模式)14.1. 设计内容14.2. 设计要求14.3. 总体设计14.4. 具体设计14.4.1. 运行效果与程序发布14.4.2. 客户端主类ClientChat14.4.3. 客户端输入妮称界面InputNameTextField14.4.4. 客户端聊天界面ChatArea14.4.5. 服务器端主类ChatServer14.5. 课程设计作业第15章 局域网络广播系统15.1. 设计内容15.2. 设计要求15.3. 总体设计15.4. 具体设计15.4.1. 运行效果与程序发布15.4.2. 客户端主类Receive15.4.3. 服务器端主类BroadCastWord15.5. 课程设计作业

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值