中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用Java+mysql實現學籍管理系統

發布時間:2022-07-28 10:42:46 來源:億速云 閱讀:126 作者:iii 欄目:開發技術

這篇文章主要講解了“怎么使用Java+mysql實現學籍管理系統”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么使用Java+mysql實現學籍管理系統”吧!

一、myswql數據庫表格

項目使用mysql數據庫,有2張表格。一張用戶表用于登錄驗證,一張學生表,用于增刪改查。

creat table t_user(
id int primary key auto_increment,
login_name varchar(255),
login_pwd  varchar(255),
real_name varchar(255),
);
insert into t_user(id,login_name,login_pwd,real_name)
values('akm',"123",'蘿卜蹲');
CREATE TABLE t_user(
 id char(12) PRIMARY KEY,
 name char(6),
 pwd varchar(255),
);

二、功能實現

1.實際演示

1.1登錄界面

怎么使用Java+mysql實現學籍管理系統

在用戶爛輸入:akm
密碼欄輸入:123
點擊登錄按鈕,就可以直接進入系統。

怎么使用Java+mysql實現學籍管理系統

如果輸入錯誤,狀態欄會顯示登錄失敗,并清空登錄賬戶和密碼。

1.2系統主界面

怎么使用Java+mysql實現學籍管理系統

系統主界面由5個按鈕組成

怎么使用Java+mysql實現學籍管理系統

添加學生信息,在主界面中選擇添加按鈕并點擊進入添加界面,如上圖所示。在界面中添加相應的學生信息,id,姓名,年齡 學籍等。

怎么使用Java+mysql實現學籍管理系統

1.3查詢信息

通過id查詢學生信息。

怎么使用Java+mysql實現學籍管理系統

1.4遍歷信息

怎么使用Java+mysql實現學籍管理系統

1.5 刪除信息

怎么使用Java+mysql實現學籍管理系統

輸入id直接刪除。

1.6 更新信息

怎么使用Java+mysql實現學籍管理系統

2.test.java文件源碼

項目只有一個test文件,沒有封裝,有需要的小伙伴可以自己進行封裝。

代碼如下:

package com.company;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import java.sql.Statement;
import java.util.Scanner;
public class Test {
    static  Connection conn ;
    static Statement statement;
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        login();
        }
    public static void control() {
        JFrame jf = new JFrame("學生學籍管理系統");
        jf.setLayout(new FlowLayout(FlowLayout.LEFT));
        jf.setBounds(400, 300, 300, 200);
        JButton button = new JButton("更新");
        JButton button1=new JButton("遍歷");
        JButton button2=new JButton("刪除");
        JButton button3=new JButton("添加");
        JButton button4=new JButton("查詢");
        jf.add(button);
        jf.add(button1);
        jf.add(button2);
        jf.add(button3);
        jf.add(button4);
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                update();
            }
        });
        button1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                query();
            }
        });
        button2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                delete();
            }
        });
        button3.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                insert();
            }
        });
        button4.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {onequery();}

        });
        jf.setVisible(true);
        jf.setResizable(false);
        button.setSize(40, 20);
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
    public static void update() {
        conn = getConnection();
        JFrame jf = new JFrame("學生學籍管理系統");
        jf.setLayout(new FlowLayout(FlowLayout.LEFT));
        jf.setBounds(400, 300, 300, 200);
        JLabel label1 = new JLabel("年齡");
        JTextField agetext = new JTextField("", 10);
        JLabel label2 = new JLabel("id");
        JTextField idtext = new JTextField("", 10);
        JLabel label3 = new JLabel("學籍");
        JTextField addresstext = new JTextField("", 10);
        JLabel label4 = new JLabel("姓名");
        JTextField nametext = new JTextField("", 5);
        JTextField out = new JTextField("更新狀態", 20);
        JButton button = new JButton("更新");
        jf.add(label1);
        jf.add(agetext);
        jf.add(label2);
        jf.add(idtext);
        jf.add(label3);
        jf.add(addresstext);
        jf.add(label4);
        jf.add(nametext);
        jf.add(out);
        jf.add(button);
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                PreparedStatement ps=null;
                String age = agetext.getText();
                String id = idtext.getText();
                String address= addresstext.getText();
                String name=nametext.getText();
                try {
                    // 更新數據的sql語句
                    String sql = "update student set age =? , address =?, name=? where  id = ?";
                    ps=conn.prepareStatement(sql);
                    ps.setString(1,agetext.getText());
                    ps.setString(2,addresstext.getText());
                    ps.setString(3,nametext.getText());
                    ps.setString(4,idtext.getText());
                    int count = ps.executeUpdate();//記錄操作次數
                    // 輸出插入操作的處理結果
                    System.out.println("user表中更新 " + count + " 條數據");
                    ps.close();
                    //關閉數據庫連接
                    conn.close();
                    out.setText("更新成功!!!!!!!!");
                    // 創建用于執行靜態sql語句的Statement對象,st屬局部變量
                } catch (SQLException a) {
                    System.out.println("更新數據失敗");
                }

            }

        });
        jf.setVisible(true);
        jf.setResizable(false);
        button.setSize(40, 20);
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

    }

    public static void query() {
        PreparedStatement ps=null;
        conn = getConnection();
        JFrame jf = new JFrame("學生學籍管理系統");
        jf.setLayout(null);
        jf.setBounds(400, 300, 350, 200);
        JButton button = new JButton("查詢");
        JTextArea jm=new JTextArea("ID\t姓名\t年齡\t學籍");//顯示界面
        jm.setBounds(10,50,350,100);//定義顯示界面位置
        jf.add(button);
        jf.add(jm);
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                PreparedStatement ps=null;
                try {
                    String sql = "select * from Student";
                    //創建用于執行靜態sql語句的Statement對象,statement屬局部變量
                    statement = conn.createStatement();//獲取操作對象
                    ResultSet resultSet = statement.executeQuery(sql);// executeQuery執行單個SQL語句,返回單個ResultSet對象是
                    while (resultSet.next())//循環沒有數據的時候返回flase退出循環
                    {
                        Integer Id = resultSet.getInt("id");//resultSet.next()是一個光標
                        String name = resultSet.getString("name");//getString返回的值一定是string
                        Integer age = resultSet.getInt("age");
                        String address=resultSet.getString("address");
                        //String adress = resultSet.getString("adress");
                        //輸出查到的記錄的各個字段的值
                        jm.append("\n"+Id + "\t" + name + "\t" + age+ "\t" + address );
                    }
                    statement.close();
                    conn.close();
                }catch (SQLException b){
                    System.out.println("查詢失敗!!!!!!!!");
                }
            }
        });
        jf.setVisible(true);
        jf.setResizable(false);
        button.setSize(40, 20);
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
    public static void delete() {
        conn = getConnection();
        JFrame jf = new JFrame("學生學籍管理系統");
        jf.setLayout(new FlowLayout(FlowLayout.LEFT));
        jf.setBounds(400, 300, 300, 200);
        JLabel label2 = new JLabel("id");
        JTextField idtext = new JTextField("", 10);
        JTextField out = new JTextField("刪除狀態", 20);
        JButton button = new JButton("刪除");
        jf.add(label2);
        jf.add(idtext);
        jf.add(out);
        jf.add(button);
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String id = idtext.getText();
                PreparedStatement ps=null;
                try {
                    // 刪除數據的sql語句
                    String sql = "delete from Student  where id = ?";
                    ps=conn.prepareStatement(sql);
                    ps.setString(1,idtext.getText());
                    int count = ps.executeUpdate();//記錄操作次數
                    // 輸出插入操作的處理結果
                    System.out.println("student表中刪除 " + count + " 條數據");
                    ps.close();
                    out.setText("刪除成功!!!!!!!!");
                    // 關閉數據庫連接
                    conn.close();
                } catch (SQLException c) {
                    System.out.println("刪除數據失敗");
                }
            }
        });
        jf.setVisible(true);
        jf.setResizable(false);
        button.setSize(40, 20);
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

    }
    public static void insert() {
        // 首先要獲取連接,即連接到數據庫
        conn = getConnection();
        JFrame jf = new JFrame("學生學籍管理系統");
        jf.setLayout(new FlowLayout(FlowLayout.LEFT));
        jf.setBounds(400, 300, 300, 200);
        JLabel label3 = new JLabel("id");
        JTextField idtext = new JTextField("", 10);
        JLabel label1 = new JLabel("年齡");
        JTextField agetext = new JTextField("", 10);
        JLabel label2 = new JLabel("姓名");
        JTextField nametext = new JTextField("", 10);
        JLabel label4 = new JLabel("學籍");
        JTextField addresstext = new JTextField("", 5);
        JTextField out = new JTextField("添加狀態", 20);
        JButton button = new JButton("添加");
        jf.add(label3);
        jf.add(idtext);
        jf.add(label1);
        jf.add(agetext);
        jf.add(label2);
        jf.add(nametext);
        jf.add(label4);
        jf.add(addresstext);
        jf.add(out);
        jf.add(button);
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String age = agetext.getText();
                String name = nametext.getText();
                String  id=idtext.getText();
                String address=addresstext.getText();
                try {
                    PreparedStatement ps=null;
                    // 插入數據的sql語句
                    String sql = "INSERT INTO Student( id,age,name,address) VALUES ( ?,?,?,?)";
                    ps=conn.prepareStatement(sql);
                    ps.setString(1,idtext.getText());
                    ps.setString(2,agetext.getText());
                    ps.setString(3,nametext.getText());
                    ps.setString(4,addresstext.getText());
                    int count = ps.executeUpdate();//記錄操作次數
                    // 輸出插入操作的處理結果
                    System.out.println("向user表中插入 " + count + " 條數據");
                    ps.close();
                    out.setText("添加成功!!!!!!!!");
                    // 關閉數據庫連接
                    conn.close();
                } catch (SQLException d) {
                    System.out.println("插入數據失敗" + d.getMessage());
                }

            }
        });
        jf.setVisible(true);
        jf.setResizable(false);
        button.setSize(40, 20);
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
    public static boolean login(){
        conn = getConnection();
        JFrame jf = new JFrame("學生學籍管理系統");
        jf.setLayout(new FlowLayout(FlowLayout.LEFT));
        jf.setBounds(400, 300, 300, 200);
        JLabel label1 = new JLabel("用戶名");
        JTextField usernametext = new JTextField("", 20);
        JLabel label2 = new JLabel("密碼");
        JPasswordField pwdtext = new JPasswordField("", 20);
        JTextField out = new JTextField("登錄狀態", 20);
        JButton button = new JButton("登錄");
        jf.add(label1);
        jf.add(usernametext);
        jf.add(label2);
        jf.add(pwdtext);
        jf.add(out);
        jf.add(button);
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // 插入數據的sql語句
                PreparedStatement ps=null;
                try {
                    statement = conn.createStatement();//獲取操作對象
                    String x = usernametext.getText();
                    String y = pwdtext.getText();
                    String sql ="select * from user";
                    ResultSet resultSet = statement.executeQuery(sql);
                    while(resultSet.next()){
                        String a=resultSet.getString("login_name");
                        String b=resultSet.getString("login_pwd");
                        if(a.equals(x)&&b.equals(y))
                        {
                            control();
                            out.setText("!!!!!登錄成功!!!!!");
                        }
                        else if(x!=a&&y!=b){
                            out.setText("登錄失敗,請重新輸入");
                        }
                    }
                    usernametext.setText("");
                    pwdtext.setText("");
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
        });
        jf.setVisible(true);
        jf.setResizable(false);
        button.setSize(40, 20);
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        boolean ok = true;
        return ok;
    }
    public static void onequery() {
        PreparedStatement ps=null;
        conn = getConnection();
        JFrame jf = new JFrame("學生學籍管理系統");
        jf.setLayout(new FlowLayout(FlowLayout.LEFT));
        jf.setBounds(400, 300, 350, 200);
        JLabel label3 = new JLabel("id");
        JTextField idtext = new JTextField("", 10);
        JLabel label1 = new JLabel("條件");
        JTextField atext = new JTextField("", 10);
        JButton button = new JButton("查詢");
        //JTextArea jm=new JTextArea("ID\t姓名\t年齡\t學籍");//顯示界面
        //jm.setBounds(10,50,350,100);//定義顯示界面位置
        jf.add(label3);
        jf.add(idtext);
        jf.add(button);
        //jf.add(jm);
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                PreparedStatement ps=null;
                String id=idtext.getText();
                conn = getConnection();
                try {
                    String sql = "select * from student where id = ?";
                    //創建用于執行靜態sql語句的Statement對象,statement屬局部變量
                    ps=conn.prepareStatement(sql);//獲取操作對象
                    ps.setString(1,idtext.getText().toString());
                    ResultSet resultSet =  ps.executeQuery();// executeQuery執行單個SQL語句,返回單個ResultSet對象是
                    while (resultSet.next())//循環沒有數據的時候返回flase退出循環
                    {
                        Integer Id = resultSet.getInt("id");//resultSet.next()是一個光標
                        String name = resultSet.getString("name");//getString返回的值一定是string
                        Integer age = resultSet.getInt("age");
                        String address=resultSet.getString("address");
                        System.out.println(Id + " " + name + " " + age + " "+ address + " " );
                        //輸出查到的記錄的各個字段的值
                        //jm.append("\n"+Id + "\t" + name + "\t" + age+ "\t" + address );
                    }
                    statement.close();
                    conn.close();
                }catch (SQLException m){
                    System.out.println(m.getMessage());
                    System.out.println("查詢失敗!!!!!!!!");
                }
            }
        });
        jf.setVisible(true);
        jf.setResizable(false);
        button.setSize(40, 20);
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
    public static Connection getConnection(){
        //創建用于連接數據庫的Connection對象
        Connection connection = null;
        try {
            // 加載Mysql數據驅動
            Class.forName("com.mysql.cj.jdbc.Driver");
            System.out.println("數據庫驅動加載成功");
            String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
            // 創建數據連接
            connection = DriverManager.getConnection(url, "root", "root");
            System.out.println("數據庫連接成功");
        }catch (ClassNotFoundException | SQLException e){
            System.out.println("數據庫連接失敗" + e.getMessage());//處理查詢結果
        }
        return connection;
    }

}

感謝各位的閱讀,以上就是“怎么使用Java+mysql實現學籍管理系統”的內容了,經過本文的學習后,相信大家對怎么使用Java+mysql實現學籍管理系統這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南江县| 南皮县| 神农架林区| 阳城县| 抚远县| 中阳县| 石柱| 托克逊县| 凯里市| 大港区| 上犹县| 平罗县| 安徽省| 江永县| 太仆寺旗| 全州县| 道真| 闻喜县| 宁晋县| 龙江县| 海伦市| 元氏县| 高清| 香港| 旌德县| 广州市| 平和县| 界首市| 阿拉善左旗| 哈尔滨市| 玛纳斯县| 平凉市| 孝昌县| 长宁区| 涪陵区| 南昌市| 河间市| 珠海市| 兰坪| 宁波市| 东安县|