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

 更新时间:2022年01月24日 17:23:19   作者:雪人见花  
这篇文章主要介绍了利用java和sqlserver实现学生信息管理系统,违章内容主要建立了与sqlserver数据库的连接开始展开内容,能学到了解JDBC执行SQL的语法,需要的朋友可以参考一下

前提:

1.建立了与sqlserver数据库的连接
(JTDS连接sqlserver数据库的包jtds-1.2.7.jar)
2. 了解JDBC执行SQL的语法

一.实现效果

二.实现代码

1.DBUtil.java

说明:直接复制必然出错。

因为要连接自己的数据库,其中部分数据说明:

            Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存");
//本机V8 ip   192.168.223.1  
//在数据库中建立的一个登录名 admin 
//登录名admin 的密码 123123
//要连接的数据库 物流寄存 (因为是临时作业就先随便找个数据库放了)

DBUtil.java

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DBUtil
{
    //连接数据库
    private static Connection getSQLConnection(String ip, String user, String pwd, String db)
    {
        Connection con = null;
        try
        {
            Class.forName("net.sourceforge.jtds.jdbc.Driver");
            //con = DriverManager.getConnection("jdbc:jtds:sqlserver://" + ip + ":1433/" + db + ";charset=utf8", user, pwd);
            //jdbc:jtds:sqlserver://localhost:1433/dbname
            //解决输出中文乱码
            con = DriverManager.getConnection("jdbc:jtds:sqlserver://" + ip + ":1433/" + db , user, pwd);

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

    //查询
    public static String QuerySQL()
    {
        String result = "";
        try
        {  //10.0.2.2 android ip
            //本机V8 ip   192.168.223.1 
            Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存");
            String sql = "select * from 学生信息表";
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(sql);

            //System.out.println(rs);
            while (rs.next())
            {//学号、姓名、班级、性别、专业、学院
                String s1 = rs.getString("学号").trim();
                String s2 = rs.getString("姓名").trim();
                String s3 = rs.getString("班级").trim();
                String s4 = rs.getString("性别").trim();
                String s5 = rs.getString("专业").trim();
                String s6 = rs.getString("学院").trim();
                result += s1 + "  " + s2 + "  " + s3 + "  " + s4+ "  " + s5+" "+s6+"\n";
               // System.out.println(s1 + "  -  " + s2);
            }
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException e)
        {
            e.printStackTrace();
            result += "查询数据异常!" + e.getMessage();
        }
        return result;
    }

    //插入学生信息
    public static String insert_student(String sno,String name,String banji,String sex,String shuanye,String xueyuan)
    {//学号、姓名、班级、性别、专业、学院
        String result = "";
        try
        {  //10.0.2.2 android ip
            //本机V8 ip   192.168.223.1
            Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存");
            String sql = "insert into  学生信息表 values ('"+sno+"','"+name+"','"+banji+"','"+sex+"','"+shuanye+"','"+xueyuan+"');";
            Statement stmt = conn.createStatement();
            stmt.executeUpdate(sql);


            stmt.close();
            conn.close();
            result+="插入成功";
        } catch (SQLException e)
        {
            e.printStackTrace();
            result += "查询数据异常!" + e.getMessage();
        }
        return result;
    }

    //删除学生信息
    public static String delete_student(String sno)
    {//学号、姓名、班级、性别、专业、学院
        String result = "";
        try
        {  //10.0.2.2 android ip
            //本机V8 ip   192.168.223.1
            Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存");
            String sql = "delete 学生信息表 where 学号 = " + sno;
            Statement stmt = conn.createStatement();
            stmt.executeUpdate(sql);


            stmt.close();
            conn.close();
            result+="删除成功";
        } catch (SQLException e)
        {
            e.printStackTrace();
            result += "查询数据异常!" + e.getMessage();
        }
        return result;
    }

    //按学号查询
    public static String QuerySQL_sno(String sno)
    {
        String result = "";
        try
        {  //10.0.2.2 android ip
            //本机V8 ip   192.168.223.1  171.120.157.130
            Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存");
            String sql = "select * from 学生信息表 where 学号 = '"+ sno+"';";
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(sql);

            while (rs.next())
            {//学号、姓名、班级、性别、专业、学院
                String s1 = rs.getString("学号").trim();
                String s2 = rs.getString("姓名").trim();
                String s3 = rs.getString("班级").trim();
                String s4 = rs.getString("性别").trim();
                String s5 = rs.getString("专业").trim();
                String s6 = rs.getString("学院").trim();
                result += s1 + "  " + s2 + "  " + s3 + "  " + s4+ "  " + s5+" "+s6+"\n";
                // System.out.println(s1 + "  -  " + s2);
            }
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException e)
        {
            e.printStackTrace();
            result += "查询数据异常!" + e.getMessage();
        }
        return result;
    }

    //按性别查询
    public static String QuerySQL_sex(String sex)
    {
        String result = "";
        try
        {  //10.0.2.2 android ip
            //本机V8 ip   192.168.223.1  171.120.157.130
            Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存");
            String sql = "select * from 学生信息表 where 性别 = '"+sex+"';";
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(sql);
            while (rs.next())
            {//学号、姓名、班级、性别、专业、学院
                String s1 = rs.getString("学号").trim();
                String s2 = rs.getString("姓名").trim();
                String s3 = rs.getString("班级").trim();
                String s4 = rs.getString("性别").trim();
                String s5 = rs.getString("专业").trim();
                String s6 = rs.getString("学院").trim();
                result += s1 + "  " + s2 + "  " + s3 + "  " + s4+ "  " + s5+" "+s6+"\n";
                // System.out.println(s1 + "  -  " + s2);
            }
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException e)
        {
            e.printStackTrace();
            result += "查询数据异常!" + e.getMessage();
        }
        return result;
    }
    //按学院查询
    public static String QuerySQL_xueyuan(String xueyuan)
    {
        String result = "";
        try
        {  //10.0.2.2 android ip
            //本机V8 ip   192.168.223.1  171.120.157.130
            Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存");
            String sql = "select * from 学生信息表 where 学院 = '"+ xueyuan +"';";
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(sql);

            //System.out.println(rs);
            while (rs.next())
            {//学号、姓名、班级、性别、专业、学院
                String s1 = rs.getString("学号").trim();
                String s2 = rs.getString("姓名").trim();
                String s3 = rs.getString("班级").trim();
                String s4 = rs.getString("性别").trim();
                String s5 = rs.getString("专业").trim();
                String s6 = rs.getString("学院").trim();
                result += s1 + "  " + s2 + "  " + s3 + "  " + s4+ "  " + s5+" "+s6+"\n";
                // System.out.println(s1 + "  -  " + s2);
            }
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException e)
        {
            e.printStackTrace();
            result += "查询数据异常!" + e.getMessage();
        }
        return result;
    }
    public static void main(String[] args)
    {
        QuerySQL();
    }

}

2.操作程序test.java

说明:只要DBUtil.java无错误,并且可以利用DBUtil.java操作数据库,则这个test.java可以直接复制

import java.util.*;
public class test {
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        int flag = 0;
        String sno = "", name = " ", banji = " ", sex = " ", shuanye = " ", xueyuan = " ";
        System.out.println("  学生信息管理程序  ");
        System.out.println(" 0.查看控制面板  ");
        System.out.println(" 1.查询全体学生信息   ");
        System.out.println(" 2.插入学生信息   ");
        System.out.println(" 3.删除学生   ");
        System.out.println(" 4.修改学生信息   ");
        System.out.println(" 5.查询相关信息   ");
        System.out.println(" 6.退出   ");
        while(true) {
            System.out.println(" 输入要继续执行的操作:");
            flag = in.nextInt();
            in.nextLine();
            if(flag == 6) break;
            else {
                switch (flag) {
                    case 0:
                        System.out.println(" 0.查看控制面板  ");
                        System.out.println(" 1.查询全体学生信息   ");
                        System.out.println(" 2.插入学生信息   ");
                        System.out.println(" 3.删除学生   ");
                        System.out.println(" 4.修改学生信息   ");
                        System.out.println(" 5.查询相关信息   ");
                        System.out.println(" 6.退出   ");
                        break;
                    case 1://查询全部
                        System.out.println("查询全体学生信息:");
                        System.out.print(DBUtil.QuerySQL());
                        break;
                    case 2://插入信息
                        System.out.println("请输入要插入的学生的信息(以空格隔开):");
                        String str = in.nextLine();
                        String[] S = str.split(" ");
                        sno = S[0];
                        name = S[1];
                        banji = S[2];
                        sex = S[3];
                        shuanye = S[4];
                        xueyuan = S[5];
                        System.out.print(DBUtil.insert_student(sno, name, banji, sex, shuanye, xueyuan));
                        break;
                    case 3://删除学生信息
                        System.out.println("请输入要删除的学生的学号:");
                        sno = in.nextLine();
                        System.out.print(DBUtil.delete_student(sno));
                        break;
                    case 4://修改学生信息
                        System.out.println("请输入要修改的学生的学号:");
                        sno = in.nextLine();
                        DBUtil.delete_student(sno);
                        System.out.println("请输入要修改的学生的信息以空格隔开(学号不可修改):");
                        String str2 = in.nextLine();
                        String[] S2 = str2.split(" ");
                        name = S2[0];
                        banji = S2[1];
                        sex = S2[2];
                        shuanye = S2[3];
                        xueyuan = S2[4];
                        DBUtil.insert_student(sno, name, banji, sex, shuanye, xueyuan);
                        System.out.println("修改之后的数据:");
                        break;
                    case 5://查询相关信息
                        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(DBUtil.QuerySQL_xueyuan(temp_xueyuan));
                                break;
                            case 2 ://按学号查询
                                System.out.println("要查询学生的学号:");
                                String temp_sno = in.nextLine();
                                System.out.print(DBUtil.QuerySQL_sno(temp_sno));
                                break;
                            case 3://按性别查询
                                System.out.println("要查询的性别:");
                                String temp_sex = in.nextLine();
                                System.out.print(DBUtil.QuerySQL_sex(temp_sex));
                                break;
                        }

                        break;
                }//switch
            }//else
        }
    }

}

 

相关文章

  • lombok注解介绍小结

    lombok注解介绍小结

    lombok是一个可以帮助我们简化java代码编写的工具类,这篇文章主要介绍了lombok注解介绍小结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • Java程序图形用户界面设计之容器JFrame

    Java程序图形用户界面设计之容器JFrame

    图形界面(简称GUI)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受,本篇精讲Java语言中关于图形用户界面的基本容器JFrame
    2022-02-02
  • Java8通过Function获取字段名的方法(获取实体类的字段名称)

    Java8通过Function获取字段名的方法(获取实体类的字段名称)

    Java8通过Function获取字段名。不用再硬编码,效果类似于mybatis-plus的LambdaQueryWrapper,对Java8通过Function获取字段名相关知识感兴趣的朋友一起看看吧
    2021-09-09
  • mybatis if传入字符串数字踩坑记录及解决

    mybatis if传入字符串数字踩坑记录及解决

    这篇文章主要介绍了mybatis if传入字符串数字踩坑记录及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • JAVA实现多线程的两种方法实例分享

    JAVA实现多线程的两种方法实例分享

    这篇文章介绍了JAVA实现多线程的两种方法实例分享,有需要的朋友可以参考一下
    2013-08-08
  • JAVA设计模式之调停者模式详解

    JAVA设计模式之调停者模式详解

    这篇文章主要介绍了JAVA设计模式之调停者模式详解,调停者模式是对象的行为模式,调停者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显引用,从而使它们可以较松散地耦合,需要的朋友可以参考下
    2015-04-04
  • 浅谈spring使用策略模式实现多种场景登录方式

    浅谈spring使用策略模式实现多种场景登录方式

    本文主要介绍了spring使用策略模式实现多种场景登录方式,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • SpringBoot整合Web之AOP配置详解

    SpringBoot整合Web之AOP配置详解

    面向切面编程(aspect-oriented programming,AOP)主要实现的目的是针对业务处理过程中的切面进行提取,诸如日志、事务管理和安全这样的系统服务,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率
    2022-08-08
  • Java8中Map常用的遍历方式

    Java8中Map常用的遍历方式

    这篇文章主要给大家介绍了关于Java8中Map常用的遍历方式,map属于java中的顶级接口之一,区别于list,map是键值对的形式存在,需要的朋友可以参考下
    2023-07-07
  • SpringBoot项目部署到阿里云服务器的实现步骤

    SpringBoot项目部署到阿里云服务器的实现步骤

    本文主要介绍了SpringBoot项目部署到阿里云服务器的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06

最新评论