本文实例为大家分享了Java实现学生管理系统的具体代码,供大家参考,具体内容如下

1.学生管理系统(控制台界面实现)

//学生类,继承Serializeable接口,将其序列化写入文件
class Student implements Comparable<Student>,Serializable
{
    private int id;
    private String name;
    private int age;
    public Student(){
        id=0;
        name=null;
        age=0;
    }
    public Student(int id,String name,int age){
        this.id=id;
        this.name=name;
        this.age=age;
    }
    public int getId(){
        return id;
    }
    public void setId(int id){
        this.id=id;
    }
    public String getName(){
        return name;
    }
    public void setName(String name){
        this.name=name;
    }
    public int getAge(){
        return age;
    }
    public void setAge(int age){
        this.age=age;
    }
    @Override
    public String toString(){
        return "id:" id " name:" name " age:" age;
    }
    //重载equals和compareTo函数,分别后续比较
    @Override
    public boolean equals(Object obj){
        if(this==obj)
            return true;
        if(getClass()!=obj.getClass()){
            return false;
        }
        Student other=(Student)obj;
        if(other.name==null){
            if(this.name!=null)
                return false;
            else if(this.id==other.id&&this.age==other.age)
                return true;
            else
                return false;
        }
        if(this.name.equals(other.name)){
            if((this.age==other.age)&&(this.id==other.id))
                return true;
        }
        return false;
    }
    @Override
    public int compareTo(Student other){
        if(this.id>other.id)
            return 1;
        else if(this.id<other.id)
            return -1;
        else
        {
            if(this.age>other.age)
                return 1;
            else if(this.age<other.age)
                return -1;
            else
                return this.name.compareTo(other.name);
        }
    }
}
class Manage
{
    private ArrayList<Student>arrayList=new ArrayList<>();
    private final String filename="student.dat";
    public Manage(){
        try{
            FileInputStream file=new FileInputStream(new File(filename));
            ObjectInputStream inputStream=new ObjectInputStream(file);
            while(true)
            {
                Student stu=(Student)inputStream.readObject();
                if(stu==null)
                    break;
                arrayList.add(stu);
            }
            //先关闭对象流,再关闭文件流
            inputStream.close();
            file.close();
        }
        catch(Exception e){
            e.printStackTrace();
        }
    }
    public void Menu(){
        boolean flag=true;
        Scanner input=new Scanner(System.in);
        while(flag)
        {
            System.out.println("-----------------------------------");
            System.out.println("|                                 |");
            System.out.println("|-------------1.添加学生-----------|");
            System.out.println("|                                 |");
            System.out.println("|-------------2.修改学生-----------|");
            System.out.println("|                                 |");
            System.out.println("|-------------3.删除学生-----------|");
            System.out.println("|                                 |");
            System.out.println("|-------------4.查找学生-----------|");
            System.out.println("|                                 |");
            System.out.println("|-------------5.显示学生-----------|");
            System.out.println("|                                 |");
            System.out.println("|-------------6.退出系统-----------|");
            System.out.println("|                                 |");
            System.out.println("-----------------------------------");
            System.out.print("请输入您的选择:");
            int choice=input.nextInt();
            switch(choice){
                case 1:
                    this.AddStudent();
                    break;
                case 2:
                    this.ModifyStudent();
                    break;
                case 3:
                    this.DeleteStudent();
                    break;
                case 4:
                    this.FindStudent();
                    break;
                case 5:
                    this.ShowStudent();
                    break;
                case 6:
                {
                    try{
                        FileOutputStream outputStream=new FileOutputStream(filename);
                        ObjectOutputStream objectOutputStream=new ObjectOutputStream(outputStream);
                        for(Student stu:arrayList){
                            objectOutputStream.writeObject(stu);
                        }
                        objectOutputStream.close();
                        outputStream.close();
                    }
                    catch(Exception e){
                        e.printStackTrace();
                    }
                    flag=false;
                    break;
                }
                default:
                    break;
            }
        }
        System.out.println("欢迎下次使用");
    }
    public void AddStudent(){
        Scanner input=new Scanner(System.in);
        try{
            FileOutputStream outputStream=new FileOutputStream(filename,true);
            ObjectOutputStream objectOutputStream=new ObjectOutputStream(outputStream);
            String name;
            int id,age;
            boolean flag=true;
            while(flag){
                System.out.print("请输入学号:");
                id=input.nextInt();
                //重新new Scanner,防止将换行符赋给name
                input=new Scanner(System.in);
                System.out.print("请输入姓名:");
                name=input.nextLine();
                System.out.print("请输入年龄:");
                age=input.nextInt();
                Student stu=new Student(id,name,age);
                objectOutputStream.writeObject(stu);
                arrayList.add(stu);
                System.out.println("是否继续添加?");
                System.out.println("1.Yes/2.No");
                int choice=input.nextInt();
                if(choice==2)
                    flag=false;
            }
            objectOutputStream.close();
            outputStream.close();
            System.out.println("添加成功");
        }
        catch(Exception e){
            e.printStackTrace();
        }
        //等待1秒,方便实验者观察结果
        try {
            Thread.sleep(1000);
        }
        catch(InterruptedException e){
            e.printStackTrace();
        }
    }
    public void ModifyStudent(){
        Scanner input=new Scanner(System.in);
        System.out.print("请输入要修改的学生姓名:");
        String name=input.nextLine();
        boolean flag=false;
        for(int i=0;i<arrayList.size();  i)
        {
            if(name.equals(arrayList.get(i).getName()))
            {
                flag=true;
                System.out.println(i " " arrayList.get(i).toString());
            }
        }
        if(!flag)
        {
            System.out.println("修改失败");
        }
        else
        {
            System.out.print("请输入要修改的学生对应的序号:");
            input=new Scanner(System.in);
            int index=input.nextInt();
            System.out.print("请输入学生学号:");
            int id=input.nextInt();
            System.out.print("请输入学生姓名:");
            input=new Scanner(System.in);
            name=input.nextLine();
            System.out.print("请输入学生年龄:");
            int age=input.nextInt();
            arrayList.set(index,new Student(id,name,age));
            try{
                FileOutputStream outputStream=new FileOutputStream(filename);
                ObjectOutputStream objectOutputStream=new ObjectOutputStream(outputStream);
                for(Student stu:arrayList){
                    objectOutputStream.writeObject(stu);
                }
                objectOutputStream.close();
                outputStream.close();
            }
            catch(Exception e){
                e.printStackTrace();
            }
            System.out.println("修改成功");
        }
        try {
            Thread.sleep(1000);
        }
        catch(InterruptedException e){
            e.printStackTrace();
        }
    }
    public void DeleteStudent(){
        Map<Integer,Student>map=new HashMap<>();
        Scanner input=new Scanner(System.in);
        System.out.print("请输入学生姓名:");
        String name=input.nextLine();
        boolean flag=false;
        for(int i=0;i<arrayList.size();  i)
        {
            if(name.equals(arrayList.get(i).getName()))
            {
                flag=true;
                System.out.println(i ":" arrayList.get(i).toString());
                map.put(i,arrayList.get(i));
            }
        }
        if(!flag)
        {
            System.out.println("删除失败");
        }
        else
        {
            System.out.print("请输入要删除的学生序号:");
            int id=input.nextInt();
            if(map.containsKey(id)){
                arrayList.remove(map.get(id));
                try{
                    FileOutputStream outputStream=new FileOutputStream(filename);
                    ObjectOutputStream objectOutputStream=new ObjectOutputStream(outputStream);
                    for(Student stu:arrayList){
                        objectOutputStream.writeObject(stu);
                    }
                    objectOutputStream.close();
                    outputStream.close();
                }
                catch(Exception e){
                    e.printStackTrace();
                }
            }
            else
            {
                System.out.println("删除失败");
            }
        }
        try {
            Thread.sleep(1000);
        }
        catch(InterruptedException e){
            e.printStackTrace();
        }
    }
    public void FindStudent(){
        Scanner input=new Scanner(System.in);
        System.out.println("请输入学生姓名:");
        String stuname=input.nextLine();
        if(arrayList.size()==0)
        {
            System.out.println("当前系统无学生信息");
            return;
        }
        else
        {
            boolean flag=false;
            for(Student stu:arrayList){
                if(stuname.equals(stu.getName()))
                {
                    flag=true;
                    System.out.println(stu.toString());
                }
            }
            if(!flag)
                System.out.println("查无此人");
        }
        try {
            Thread.sleep(1000);
        }
        catch(InterruptedException e){
            e.printStackTrace();
        }
    }
    public void ShowStudent(){
        if(arrayList.size()==0)
        {
            System.out.println("当前系统中无学生信息");
            return;
        }
        int num=0;
        for(Student stu:arrayList){
            System.out.println((num  ) ":" stu.toString());
        }
        try {
            Thread.sleep(1000);
        }
        catch(InterruptedException e){
            e.printStackTrace();
        }
    }
}
public class test{
    public static void main(String[]args){
        Manage manage=new Manage();
        manage.Menu();
    }
}

学生管理系统效果图

2.学生管理系统(图形化界面实现)

使用Java提供的Javax库来实现图形化界面,在使用这个库的时候,我发现它和Qt十分相似,但和Qt相比感觉更方便使用。

package project.demo;
import java.io.*;
import java.util.ArrayList;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
//因为要写入对象文件,所以必须序列化
class Students implements  Serializable{
    private int id;
    private String name;
    private int age;
    public Students(int id,String name,int age){
        this.id=id;
        this.name=name;
        this.age=age;
    }
    public int getId(){
        return id;
    }
    public String getName(){
        return name;
    }
    public int getAge(){
        return age;
    }
    public String toString(){
        return id " " name " " age;
    }
    public void setId(int id){
        this.id=id;
    }
    public void setName(String name){
        this.name=name;
    }
    public void setAge(int age){
        this.age=age;
    }
}
class ManageSystem{
    private final static String filename="students.dat";
    private ArrayList<Students>arrayList=new ArrayList<>();
    //主界面
    JFrame jFrame=new JFrame("Student Manage System");
    //按钮
    JButton addButton=new JButton("添加学生");
    JButton modifyButton=new JButton("修改学生");
    JButton deleteButton=new JButton("删除学生");
    JButton searchButton=new JButton("查找学生");
    JButton showButton=new JButton("显示学生");
    JButton exitButton=new JButton("退出系统");
    public ManageSystem(){
        //设置界面的大小,位置,以及组件
        jFrame.setSize(800,700);
        jFrame.setLocation(600,200);
        jFrame.setLayout(null);
        addButton.setBounds(200,50,400,75);
        modifyButton.setBounds(200,150,400,75);
        deleteButton.setBounds(200,250,400,75);
        searchButton.setBounds(200,350,400,75);
        showButton.setBounds(200,450,400,75);
        exitButton.setBounds(200,550,400,75);
        jFrame.add(addButton);
        jFrame.add(modifyButton);
        jFrame.add(deleteButton);
        jFrame.add(searchButton);
        jFrame.add(showButton);
        jFrame.add(exitButton);
        addButton.setVisible(true);
        modifyButton.setVisible(true);
        deleteButton.setVisible(true);
        searchButton.setVisible(true);
        showButton.setVisible(true);
        exitButton.setVisible(true);
        //读取文件
        try{
            FileInputStream fileInputStream=new FileInputStream(filename);
            ObjectInputStream objectInputStream=new ObjectInputStream(fileInputStream);
            Students students=null;
            while((students=(Students)objectInputStream.readObject())!=null)
                arrayList.add(students);
            objectInputStream.close();
            fileInputStream.close();
        }
        catch(Exception e){
            e.printStackTrace();
        }
    }
    //添加学生
    public void AddStudent(){
        addButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //设置新界面
                JDialog addDialog=new JDialog(jFrame);
                addDialog.setLayout(new FlowLayout());
                //界面标题
                addDialog.setTitle("添加学生");
                addDialog.setSize(800,700);
                addDialog.setLocation(600,200);
                //设置相关标签和文本框
                JLabel idLabel=new JLabel("学号:");
                JTextField idField=new JTextField("");
                idField.setPreferredSize(new Dimension(100,50));
                JLabel nameLabel=new JLabel("姓名:");
                JTextField nameField=new JTextField("");
                nameField.setPreferredSize(new Dimension(100,50));
                JLabel ageLabel=new JLabel("年龄:");
                JTextField ageField=new JTextField("");
                ageField.setPreferredSize(new Dimension(100,50));
                idLabel.setVisible(true);
                idField.setVisible(true);
                nameLabel.setVisible(true);
                nameField.setVisible(true);
                ageLabel.setVisible(true);
                ageField.setVisible(true);
                //将组件添加进入副界面addDialog
                addDialog.add(idLabel);
                addDialog.add(idField);
                addDialog.add(nameLabel);
                addDialog.add(nameField);
                addDialog.add(ageLabel);
                addDialog.add(ageField);
                addDialog.setVisible(true);
                //设置提交按钮
                JButton submitButton=new JButton("确定");
                submitButton.setBounds(300,400,200,75);
                submitButton.setVisible(true);
                addDialog.add(submitButton);
                submitButton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        //获取输入的内容
                        int id=Integer.parseInt(idField.getText());
                        String name=nameField.getText();
                        int age=Integer.parseInt(ageField.getText());
                        Students students=new Students(id,name,age);
                        arrayList.add(students);
                        //提交后返回主页面
                        addDialog.setVisible(false);
                    }
                });
                //设置返回按钮
                JButton returnbutton=new JButton("返回");
                returnbutton.setBounds(300,500,200,75);
                returnbutton.setLayout(null);
                returnbutton.setVisible(true);
                addDialog.add(returnbutton);
                returnbutton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        //返回主页面
                        addDialog.setVisible(false);
                    }
                });
                jFrame.add(addDialog);
            }
        });
    }
    //修改学生信息
    public void ModifyStudent(){
        modifyButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //设置新界面
                JDialog modifyDialog=new JDialog(jFrame);
                modifyDialog.setTitle("修改学生");
                modifyDialog.setSize(800,700);
                modifyDialog.setLocation(600,200);
                modifyDialog.setLayout(null);
                modifyDialog.setVisible(true);
                //搜索条件
                JLabel namelabel=new JLabel("姓名");
                JTextField namefield=new JTextField("");
                namelabel.setBounds(100,0,60,40);
                namefield.setBounds(160,0,200,40);
                namelabel.setLayout(null);
                namefield.setLayout(null);
                namelabel.setVisible(true);
                namefield.setVisible(true);
                modifyDialog.add(namelabel);
                modifyDialog.add(namefield);
                //设置查询按钮
                JButton searchbutton=new JButton("查询");
                searchbutton.setBounds(0,0,60,40);
                searchbutton.setLayout(null);
                searchbutton.setVisible(true);
                modifyDialog.add(searchbutton);
                searchbutton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        //将符合条件的学生加入哈希表
                        Map<Integer,Students>map=new HashMap<>();
                        for(int i=0;i<arrayList.size();  i)
                        {
                            if(namefield.getText().equals(arrayList.get(i).getName())){
                                map.put(i,arrayList.get(i));
                            }
                        }
                        //显示结果
                        if(map.size()==0)
                        {
                            JButton resultbutton=new JButton("查无此人");
                            resultbutton.setBounds(300,200,200,50);
                            resultbutton.setLayout(null);
                            resultbutton.setVisible(true);
                            modifyDialog.add(resultbutton);
                        }
                        else
                        {
                            int num=0;
                            int height=40;
                            for(Map.Entry<Integer,Students>entry:map.entrySet()){
                                JLabel idlabel=new JLabel("学号");
                                JTextField idfield=new JTextField(entry.getValue().getId() "");
                                JLabel nameLabel=new JLabel("姓名");
                                JTextField namefield=new JTextField(entry.getValue().getName());
                                JLabel ageLabel=new JLabel("年龄");
                                JTextField agefield=new JTextField(entry.getValue().getAge() "");
                                idlabel.setBounds(60,40 height*num,60,height);
                                idfield.setBounds(120,40 height*num,180,height);
                                namelabel.setBounds(300,40 height*num,60,height);
                                namefield.setBounds(360,40 height*num,190,height);
                                ageLabel.setBounds(550,40 height*num,60,height);
                                agefield.setBounds(610,40 height*num,190,height);
                                idlabel.setLayout(null);
                                idfield.setLayout(null);
                                nameLabel.setLayout(null);
                                namefield.setLayout(null);
                                ageLabel.setLayout(null);
                                agefield.setLayout(null);
                                idlabel.setVisible(true);
                                idfield.setVisible(true);
                                namelabel.setVisible(true);
                                namefield.setVisible(true);
                                ageLabel.setVisible(true);
                                agefield.setVisible(true);
                                modifyDialog.add(idlabel);
                                modifyDialog.add(idfield);
                                modifyDialog.add(nameLabel);
                                modifyDialog.add(namefield);
                                modifyDialog.add(ageLabel);
                                modifyDialog.add(agefield);
                                //修改按钮
                                JButton yes=new JButton("修改");
                                yes.setBounds(0,40 num*height,60,height);
                                yes.setLayout(null);
                                yes.setVisible(true);
                                yes.addActionListener(new ActionListener() {
                                    @Override
                                    public void actionPerformed(ActionEvent e) {
                                        String tempname=namefield.getText();
                                        int tempid=Integer.parseInt(idfield.getText());
                                        int tempage=Integer.parseInt(agefield.getText());
                                        arrayList.get(entry.getKey()).setName(tempname);
                                        arrayList.get(entry.getKey()).setId(tempid);
                                        arrayList.get(entry.getKey()).setAge(tempage);
                                        //修改后返回主页面
                                        modifyDialog.setVisible(false);
                                    }
                                });
                                modifyDialog.add(yes);
                                  num;
                            }
                        }
                    }
                });
                //设置返回按钮
                JButton returnbutton=new JButton("返回");
                returnbutton.setBounds(200,600,200,50);
                returnbutton.setLayout(null);
                returnbutton.setVisible(true);
                modifyDialog.add(returnbutton);
                returnbutton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        modifyDialog.setVisible(false);
                    }
                });
                jFrame.add(modifyDialog);
            }
        });
    }
    //删除学生
    public void DeleteStudent(){
        deleteButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //设置新界面
                JDialog deleteDialog=new JDialog(jFrame);
                deleteDialog.setTitle("删除学生");
                deleteDialog.setSize(800,700);
                deleteDialog.setLocation(600,200);
                deleteDialog.setLayout(null);
                deleteDialog.setVisible(true);
                //搜索条件
                JLabel namelabel=new JLabel("姓名");
                JTextField namefield=new JTextField("");
                namelabel.setBounds(100,0,60,40);
                namefield.setBounds(160,0,200,40);
                namelabel.setLayout(null);
                namefield.setLayout(null);
                namelabel.setVisible(true);
                namefield.setVisible(true);
                deleteDialog.add(namelabel);
                deleteDialog.add(namefield);
                //设置查询按钮
                JButton searchbutton=new JButton("查询");
                searchbutton.setBounds(0,0,60,40);
                searchbutton.setLayout(null);
                searchbutton.setVisible(true);
                searchbutton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        //筛选符合条件的学生
                        Map<Integer,Students>map=new HashMap<>();
                        for(int i=0;i<arrayList.size();  i)
                        {
                            if(namefield.getText().equals(arrayList.get(i).getName())){
                                map.put(i,arrayList.get(i));
                            }
                        }
                        if(map.size()==0)
                        {
                            JButton resultbutton=new JButton("查无此人");
                            resultbutton.setBounds(300,200,200,50);
                            resultbutton.setLayout(null);
                            resultbutton.setVisible(true);
                            deleteDialog.add(resultbutton);
                        }
                        else
                        {
                            int num=0;
                            int height=40;
                            for(Map.Entry<Integer,Students>entry:map.entrySet()){
                                JButton del=new JButton("删除");
                                del.setBounds(0,40 num*height,60,height);
                                del.setLayout(null);
                                del.setVisible(true);
                                del.addActionListener(new ActionListener() {
                                    @Override
                                    public void actionPerformed(ActionEvent e) {
                                        arrayList.remove(entry.getValue());
                                        //删除后返回主页面
                                        deleteDialog.setVisible(false);
                                    }
                                });
                                deleteDialog.add(del);
                                JTextField resultfield=new JTextField(entry.getValue().toString());
                                resultfield.setBounds(60,40 height*num,740,height);
                                resultfield.setLayout(null);
                                resultfield.setVisible(true);
                                deleteDialog.add(resultfield);
                                  num;
                            }
                        }
                    }
                });
                //设置返回按钮
                JButton returnbutton=new JButton("返回");
                returnbutton.setBounds(200,600,200,50);
                returnbutton.setLayout(null);
                returnbutton.setVisible(true);
                deleteDialog.add(returnbutton);
                returnbutton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        deleteDialog.setVisible(false);
                    }
                });
                deleteDialog.add(searchbutton);
                jFrame.add(deleteDialog);
            }
        });
    }
    //查找学生
    public void SearchStudent(){
        searchButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //设置新界面
                JDialog searchDialog=new JDialog(jFrame);
                searchDialog.setTitle("查找学生");
                searchDialog.setSize(800,700);
                searchDialog.setLocation(600,200);
                searchDialog.setLayout(null);
                searchDialog.setVisible(true);
                //设置相关标签和文本框
                JLabel idLabel=new JLabel("学号:");
                JTextField idField=new JTextField("0");
                idField.setPreferredSize(new Dimension(100,50));
                JLabel nameLabel=new JLabel("姓名:");
                JTextField nameField=new JTextField("");
                nameField.setPreferredSize(new Dimension(100,50));
                JLabel ageLabel=new JLabel("年龄:");
                JTextField ageField=new JTextField("0");
                ageField.setPreferredSize(new Dimension(100,50));
                int width=250;
                int height=50;
                idLabel.setBounds(60,0,40,40);
                idField.setBounds(100,0,200,40);
                nameLabel.setBounds(300,0,50,40);
                nameField.setBounds(350,0,200,40);
                ageLabel.setBounds(550,0,50,40);
                ageField.setBounds(600,0,200,50);
                idLabel.setLayout(null);
                idField.setLayout(null);
                nameLabel.setLayout(null);
                nameField.setLayout(null);
                ageLabel.setLayout(null);
                ageField.setLayout(null);
                idLabel.setVisible(true);
                idField.setVisible(true);
                nameLabel.setVisible(true);
                nameField.setVisible(true);
                ageLabel.setVisible(true);
                ageField.setVisible(true);
                //将组件添加进入副界面searchDialog
                searchDialog.add(idLabel);
                searchDialog.add(idField);
                searchDialog.add(nameLabel);
                searchDialog.add(nameField);
                searchDialog.add(ageLabel);
                searchDialog.add(ageField);
                //设置查询按钮
                JButton searchbutton=new JButton("查询");
                searchbutton.setBounds(0,0,60,40);
                searchbutton.setLayout(null);
                searchbutton.setVisible(true);
                searchDialog.add(searchbutton);
                searchbutton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        //根据查询条件进行筛选
                        int whichcase=0;
                        if(!nameField.getText().equals(""))
                            whichcase =1;
                        if(!idField.getText().equals("0"))
                            whichcase =2;
                        if(!ageField.getText().equals("0"))
                            whichcase =4;
                        System.out.println(nameField.getText() " " idField.getText() " " ageField.getText());
                        //存储查询结果
                        Map<Integer,Students>map=new HashMap<>();
                        switch(whichcase){
                            case 0:
                            {
                                break;
                            }
                            case 1:
                            {
                               // System.out.println(tempname);
                                for(int i=0;i<arrayList.size();  i)
                                {
                                    if(nameField.getText().equals(arrayList.get(i).getName()))
                                    {
                                        map.put(i,arrayList.get(i));
                                    }
                                }
                                break;
                            }
                            case 2:
                            {
                                int tempid=Integer.parseInt(idField.getText());
                                for(int i=0;i<arrayList.size();  i)
                                {
                                    if(tempid==arrayList.get(i).getId())
                                        map.put(i,arrayList.get(i));
                                }
                                break;
                            }
                            case 3:
                            {
                                String tempname=nameField.getText();
                                int tempid=Integer.parseInt(idField.getText());
                                for(int i=0;i<arrayList.size();  i)
                                {
                                    if(tempname.equals(arrayList.get(i).getName())&&tempid==arrayList.get(i).getId())
                                        map.put(i,arrayList.get(i));
                                }
                                break;
                            }
                            case 4:
                            {
                                int tempage=Integer.parseInt(ageField.getText());
                                for(int i=0;i<arrayList.size();  i)
                                {
                                    if(tempage==arrayList.get(i).getAge())
                                        map.put(i,arrayList.get(i));
                                }
                                break;
                            }
                            case 5:
                            {
                                String tempname=nameField.getText();
                                int tempage=Integer.parseInt(ageField.getText());
                                for(int i=0;i<arrayList.size();  i)
                                {
                                    if(tempname.equals(arrayList.get(i).getName())&&tempage==arrayList.get(i).getAge())
                                        map.put(i,arrayList.get(i));
                                }
                                break;
                            }
                            case 6:
                            {
                                int tempid=Integer.parseInt(idField.getText());
                                int tempage=Integer.parseInt(ageField.getText());
                                for(int i=0;i<arrayList.size();  i)
                                {
                                    if(tempid==arrayList.get(i).getId()&&tempage==arrayList.get(i).getAge()){
                                        map.put(i,arrayList.get(i));
                                    }
                                }
                                break;
                            }
                            case 7:
                            {
                                String tempname=nameField.getText();
                                int tempid=Integer.parseInt(idField.getText());
                                int tempage=Integer.parseInt(ageField.getText());
                                for(int i=0;i<arrayList.size();  i)
                                {
                                    if(tempname.equals(arrayList.get(i).getName())&&tempid==arrayList.get(i).getId()
                                    &&tempage==arrayList.get(i).getAge()){
                                        map.put(i,arrayList.get(i));
                                    }
                                }
                                break;
                            }
                        }
                        int num=0;
                        for(Map.Entry<Integer,Students>entry:map.entrySet()){
                            System.out.println(entry.getValue().toString());
                            JButton tempindexbutton=new JButton(entry.getKey() "");
                            JButton tempidbutton=new JButton(entry.getValue().getId() "");
                            JButton tempnamebutton=new JButton(entry.getValue().getName());
                            JButton tempagebutton=new JButton(entry.getValue().getAge() "");
                            tempindexbutton.setBounds(0,40 height*num,50,height);
                            tempidbutton.setBounds(50,40 height*num,width,height);
                            tempnamebutton.setBounds(300,40 height*num,width,height);
                            tempagebutton.setBounds(550,40 height*num,width,height);
                            tempindexbutton.setLayout(null);
                            tempidbutton.setLayout(null);
                            tempnamebutton.setLayout(null);
                            tempagebutton.setLayout(null);
                            tempindexbutton.setVisible(true);
                            tempidbutton.setVisible(true);
                            tempnamebutton.setVisible(true);
                            tempagebutton.setVisible(true);
                            searchDialog.add(tempindexbutton);
                            searchDialog.add(tempidbutton);
                            searchDialog.add(tempnamebutton);
                            searchDialog.add(tempagebutton);
                              num;
                        }
                        if(map.size()==0)
                        {
                            System.out.println("查无此人");
                            JButton resultbutton=new JButton("查无此人");
                            resultbutton.setBounds(300,200,200,50);
                            resultbutton.setLayout(null);
                            resultbutton.setVisible(true);
                            searchDialog.add(resultbutton);
                        }
                    }
                });
                //设置返回按钮
                //设置返回按钮
                JButton returnbutton=new JButton("返回");
                returnbutton.setBounds(200,600,width,height);
                returnbutton.setLayout(null);
                returnbutton.setVisible(true);
                searchDialog.add(returnbutton);
                returnbutton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        searchDialog.setVisible(false);
                    }
                });
            }
        });
    }
    //显示学生
    public void ShowStudent(){
        showButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //设置新界面
                JDialog showDialog=new JDialog(jFrame);
                showDialog.setTitle("显示学生");
                showDialog.setSize(800,700);
                showDialog.setLocation(600,200);
                showDialog.setLayout(null);
                showDialog.setVisible(true);
                JButton idbutton=new JButton("id");
                idbutton.setBounds(50,0,250,50);
                idbutton.setLayout(null);
                JButton namebutton=new JButton("name");
                namebutton.setBounds(300,0,250,50);
                namebutton.setLayout(null);
                JButton agebutton=new JButton("age");
                agebutton.setBounds(550,0,250,50);
                agebutton.setLayout(null);
                idbutton.setVisible(true);
                namebutton.setVisible(true);
                agebutton.setVisible(true);
                showDialog.add(idbutton);
                showDialog.add(namebutton);
                showDialog.add(agebutton);
                //数量
                int num=0;
                int height=40;
                int width=250;
                while(num<arrayList.size()){
                    //设置按钮来显示数据
                    JButton numbutton=new JButton(num "");
                    JButton tempidbutton=new JButton(arrayList.get(num).getId() "");
                    JButton tempnamebutton=new JButton(arrayList.get(num).getName());
                    JButton tempagebutton=new JButton(arrayList.get(num).getAge() "");
                    numbutton.setBounds(0,50 height*num,50,height);
                    tempidbutton.setBounds(50,50 height*num,width,height);
                    tempnamebutton.setBounds(300,50 height*num,width,height);
                    tempagebutton.setBounds(550,50 height*num,width,height);
                    numbutton.setLayout(null);
                    tempidbutton.setLayout(null);
                    tempnamebutton.setLayout(null);
                    tempagebutton.setLayout(null);
                    numbutton.setVisible(true);
                    tempidbutton.setVisible(true);
                    tempnamebutton.setVisible(true);
                    tempagebutton.setVisible(true);
                    showDialog.add(numbutton);
                    showDialog.add(tempidbutton);
                    showDialog.add(tempnamebutton);
                    showDialog.add(tempagebutton);
                      num;
                }
                //设置返回按钮
                JButton returnbutton=new JButton("返回");
                returnbutton.setBounds(200,600,width,height);
                returnbutton.setLayout(null);
                returnbutton.setVisible(true);
                showDialog.add(returnbutton);
                returnbutton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {

                        showDialog.setVisible(false);
                    }
                });
                jFrame.add(showDialog);
            }
        });
    }
    //退出系统
    public void ExitButton(){
        exitButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //前期的添加,删除,修改等工作,都只作用于ArrayList,最后退出系统时,再更新文件
                try{
                    FileOutputStream fileOutputStream=new FileOutputStream(filename);
                    ObjectOutputStream objectOutputStream=new ObjectOutputStream(fileOutputStream);
                    for(Students stu:arrayList)
                    {
                        objectOutputStream.writeObject(stu);
                    }
                    objectOutputStream.close();
                    fileOutputStream.close();
                }
                catch(Exception ex){
                    ex.printStackTrace();
                }
                jFrame.setVisible(false);
            }
        });
    }
    //菜单
    public void Menu(){
        //添加监听器
        this.AddStudent();
        this.ModifyStudent();
        this.DeleteStudent();
        this.SearchStudent();
        this.ShowStudent();
        this.ExitButton();
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        jFrame.setVisible(true);
    }
}
public class hello {
    public static void main(String[]args)
    {
       ManageSystem manageSystem=new ManageSystem();
       manageSystem.Menu();
    }
}

效果图:

1.主页面

2.添加学生页面

3.查找学生页面

4.总结

该图形化界面核心代码其实和第一个在控制台操作的管理系统基本一样,只是进行图形化,使操作更方便而已,但是在图形化的时候,发现有许多bug,首先就是每次操作后,必须按退出系统按钮,进行的操作才能写入文件。其次就是删除,查找和修改页面,输入查询条件后,鼠标必须经过相应的区域,该区域上的结果才会显示出来。最后还有一点,就是重复的代码太多了,可以将一些代码封装成一个函数,需要时再调用。

3.学生管理系统(连接MySQL数据库)

1.打开CMD,要以管理员的身份运行

cd "Mysql所在文件夹"
//启动mysql
net start mysql

//登录MySQL
mysql -u root -p

然后输入密码

//创建数据库
CREATE DATABASE shop;

创建shop数据库中的表

在表中插入信息

在MySQL进行上述操作后,编写下面的JAVA代码

package project.demo;
import java.sql.*;
import java.util.ArrayList;
import java.util.*;
import java.io.*;
import  java.io.*;
import java.util.Collection;
import java.util.concurrent.ExecutionException;
class ManageSystem
{
    //驱动名,Java8及以上都是这个
    private String driver="com.mysql.cj.jdbc.Driver";
    //数据库用户名
    private String user="root";
    //数据库密码
    private String password="3fa4d180";
    //要使用的数据库
    private String database="shop";
    //数据库路径
    private String url=null;
    public ManageSystem(){
        //初始化数据库路径
        url="jdbc:mysql://localhost:3306/" database "?useSSL=false&serverTimezone=UTC";
    }
    public void Menu(){
        boolean flag=true;
        Scanner input=new Scanner(System.in);
        while(flag)
        {
            System.out.println("----------------------------------");
            System.out.println("|                                |");
            System.out.println("|-------------1.添加学生-----------");
            System.out.println("|                                |");
            System.out.println("|-------------2.修改学生-----------");
            System.out.println("|                                |");
            System.out.println("|-------------3.删除学生-----------");
            System.out.println("|                                |");
            System.out.println("|-------------4.查找学生-----------");
            System.out.println("|                                |");
            System.out.println("|-------------5.显示学生-----------");
            System.out.println("|                                |");
            System.out.println("|-------------6.退出系统-----------");
            System.out.println("|                                |");
            System.out.println("|---------------------------------");
            System.out.print("请输入您的选择:");
            //输入选择
            int choice=input.nextInt();
            switch(choice)
            {
                case 1:
                    this.AddStudent();
                    break;
                case 2:
                    this.ModifyStudent();
                    break;
                case 3:
                    this.DeleteStudent();
                    break;
                case 4:
                    this.SearchStudent();
                    break;
                case 5:
                    this.ShowStudent();
                    break;
                case 6:
                    flag=false;
                    break;
                default:
                    break;
            }
        }
        System.out.println("欢迎下次使用");
    }
    //添加学生
    public void AddStudent(){
        Scanner input=new Scanner(System.in);
        try{
            //加载驱动
            Class.forName(driver);
            //连接到数据库
            Connection conn=DriverManager.getConnection(url,user,password);
            System.out.println("连接成功");
            //设置容器
            Statement stmt=conn.createStatement();
            boolean flag=true;
            while(flag)
            {
                System.out.print("请输入学生id:");
                int id=input.nextInt();
                input=new Scanner(System.in);
                System.out.print("请输入学生姓名:");
                String name=input.nextLine();
                System.out.print("请输入学生年龄:");
                int age=input.nextInt();
                //SQL语句
                String execute="INSERT INTO Student VALUES";
                //在Mysql的添加语句中,若添加id=202004,name=刘六,age=20,添加语句为INSERT INTO Student VALUES('202004','刘六',20);
                //即字符需要用"'"包起来
                execute =("(" "'" id "'" "," "'" name "'" "," age ");");
                //将SQL语句上传到数据库执行
                stmt.executeUpdate(execute);
                System.out.println("插入成功");
                System.out.println("是否继续插入数据?");
                System.out.println("1.是");
                System.out.println("2.否");
                System.out.print("请输入您的选择:");
                int choice=input.nextInt();
                if(choice!=1)
                {
                    flag=false;
                }
            }
            //关闭容器和通道
            stmt.close();
            conn.close();
        }catch(ClassNotFoundException e){
            e.printStackTrace();
        }
        catch(SQLException e){
            e.printStackTrace();
        }
        //停顿1秒,方便用户查看结果
        try{
            Thread.sleep(1000);
        }
        catch (Exception e){
            e.printStackTrace();
        }
    }
    //修改学生
    public void ModifyStudent(){
        Scanner input=new Scanner(System.in);
        System.out.print("请输入要修改的学生姓名:");
        String name=input.nextLine();
        System.out.println("请输入要修改的内容:");
        System.out.println("1.id");
        System.out.println("2.name");
        System.out.println("3.age");
        System.out.println("4.all");
        System.out.print("请输入您的选择:");
        int choice=input.nextInt();
        //SQL语句
        String execute="";
        boolean flag=true;
        while(flag){
            if(choice<1||choice>4)
            {
                System.out.println("输入有误,请重新输入");
            }
            else
            {
                flag=false;
                if(choice==1){
                    System.out.print("请输入新id:");
                    int newid=input.nextInt();
                    execute="UPDATE Student SET stu_id=" "'" newid "'";
                }
                else if(choice==2){
                    input=new Scanner(System.in);
                    System.out.print("请输入新姓名:");
                    String newname=input.nextLine();
                    execute="UPDATE Student SET stu_name=" "'" newname "'";
                }
                else if(choice==3){
                    System.out.print("请输入新年龄:");
                    int newage=input.nextInt();
                    execute="UPDATE Student SET stu_age=" "'" newage "'";
                }
                else
                {
                    System.out.print("请输入新id:");
                    int newid=input.nextInt();
                    input=new Scanner(System.in);
                    System.out.print("请输入新姓名:");
                    String newname=input.nextLine();
                    System.out.print("请输入新年龄:");
                    int newage=input.nextInt();
                    execute="UPDATE Student SET stu_id=" "'" newid "'";
                    execute =",stu_name=" "'" newname "'";
                    execute =",stu_age=" "'" newage "'";
                }
            }
        }
        execute =" WHERE stu_name=" "'" name "'" ";";
        try{
            //设置驱动
            Class.forName(driver);
            //连接数据库
            Connection conn=DriverManager.getConnection(url,user,password);
            //设置容器
            Statement stmt=conn.createStatement();
            //执行SQL语句
            stmt.executeUpdate(execute);
            System.out.println("修改成功");
            //关闭容器和数据库
            stmt.close();
            conn.close();
        }
        catch(ClassNotFoundException e){
            e.printStackTrace();
        }
        catch(SQLException e){
            e.printStackTrace();
        }
        //停顿1秒,方便用户观察结果
        try{
            Thread.sleep(1000);
        }
        catch(Exception e){
            e.printStackTrace();
        }
    }
    //删除学生
    public void DeleteStudent(){
        Scanner input=new Scanner(System.in);
        System.out.println("请输入要删除的学生姓名:");
        String name=input.nextLine();
        try{
            //加载驱动
            Class.forName(driver);
            //连接数据库
            Connection conn=DriverManager.getConnection(url,user,password);
            //设置容器
            Statement stmt=conn.createStatement();
            //SQL语句
            String exceute="DELETE FROM Student WHERE ";
            exceute ="stu_name=" "'" name "'" ";";
            //执行SQL语句
            stmt.executeUpdate(exceute);
            System.out.println("删除成功");
            //关闭容器和数据库
            stmt.close();
            conn.close();
        }
        catch(ClassNotFoundException e){
            e.printStackTrace();
        }
        catch(SQLException e){
            e.printStackTrace();
        }
        //停顿1秒,方便用户观察
        try{
            Thread.sleep(1000);
        }
        catch(Exception e){
            e.printStackTrace();
        }
    }
    //查找学生
    public void SearchStudent(){
        Scanner input=new Scanner(System.in);
        System.out.println("请输入查询条件");
        System.out.println("1.id");
        System.out.println("2.name");
        System.out.println("3.age");
        System.out.print("请输入您的选择:");
        String execute="";
        boolean flag=true;
        while(flag){
            int choice=input.nextInt();
            if(choice<1||choice>3)
            {
                System.out.println("输入有误,请重新输入");
            }
            else if(choice==1){
                System.out.print("请输入要查询的id:");
                int id=input.nextInt();
                execute="SELECT * FROM Student WHERE stu_id=" "'" id "'" ";";
                flag=false;
            }
            else if(choice==2){
                input=new Scanner(System.in);
                System.out.print("请输入要查询的姓名:");
                String name=input.nextLine();
                execute="SELECT * FROM Student WHERE stu_name=" "'" name "'" ";";
                flag=false;
            }
            else
            {
                System.out.print("请输入要查询的年龄:");
                int age=input.nextInt();
                execute="SELECT * FROM Student WHERE stu_age=" age ";";
                flag=false;
            }
        }
        try{
            //加载驱动
            Class.forName(driver);
            //连接数据库
            Connection conn=DriverManager.getConnection(url,user,password);
            //设置容器
            Statement stmt=conn.createStatement();
            //获得集合
            ResultSet rs=stmt.executeQuery(execute);
            int num=0;
            //遍历
            while(rs.next())
            {
                int id=Integer.parseInt(rs.getString("stu_id"));
                String name=rs.getString("stu_name");
                int age=Integer.parseInt(rs.getString("stu_age"));
                System.out.println(String.format("id:%-10d name:%-20s age:%-5d",id,name,age));
                num  ;
            }
            if(num!=0)
                System.out.println("查询成功");
            else
                System.out.println("查无此人");
            //关闭集合,容器和数据库
            rs.close();
            stmt.close();
            conn.close();
        }
        catch(ClassNotFoundException e){
            e.printStackTrace();
        }
        catch(SQLException e){
            e.printStackTrace();
        }
        //停顿1秒,方便用户观察
        try{
            Thread.sleep(1000);
        }
        catch (Exception e){
            e.printStackTrace();
        }
    }
    //显示学生
    public void ShowStudent(){
        try{
            //加载驱动
            Class.forName(driver);
            //连接数据库
            Connection conn=DriverManager.getConnection(url,user,password);
            System.out.println("连接成功");
            //设置容器
            Statement stmt=conn.createStatement();
            //SQL语句
            String execute="SELECT * FROM Student";
            //获得集合
            ResultSet rs= stmt.executeQuery(execute);
            System.out.println("查询成功");
            while(rs.next()){
                int id=Integer.parseInt(rs.getString("stu_id"));
                String name=rs.getString("stu_name");
                int age=Integer.parseInt(rs.getString("stu_age"));
                System.out.println(String.format("id:%-10d name:%-20s age:%-5d",id,name,age));
            }
            //关闭集合,容器和数据库
            rs.close();
            stmt.close();
            conn.close();
        }
        catch(ClassNotFoundException e){
            e.printStackTrace();
        }
        catch(SQLException e){
            e.printStackTrace();
        }
        //停顿1秒,方便用户观察
        try{
            Thread.sleep(1000);
        }
        catch(Exception e){
            e.printStackTrace();
        }
    }
}
public class test{
    public static void main(String[]args){
      ManageSystem manageSystem=new ManageSystem();
      manageSystem.Menu();
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持Devmax。

Java实现简易学生管理系统的更多相关文章

  1. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  3. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  4. Java实现世界上最快的排序算法Timsort的示例代码

    Timsort 是一个混合、稳定的排序算法,简单来说就是归并排序和二分插入排序算法的混合体,号称世界上最好的排序算法。本文将详解Timsort算法是定义与实现,需要的可以参考一下

  5. Java日期工具类的封装详解

    在日常的开发中,我们难免会对日期格式化,对日期进行计算,对日期进行校验,为了避免重复写这些琐碎的逻辑,我这里封装了一个日期工具类,方便以后使用,直接复制代码到项目中即可使用,需要的可以参考一下

  6. Java设计模式之模板方法模式Template Method Pattern详解

    在我们实际开发中,如果一个方法极其复杂时,如果我们将所有的逻辑写在一个方法中,那维护起来就很困难,要替换某些步骤时都要重新写,这样代码的扩展性就很差,当遇到这种情况就要考虑今天的主角——模板方法模式

  7. Java 中 Class Path 和 Package的使用详解

    这篇文章主要介绍了Java 中 Class Path和Package的使用详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下

  8. java SpringBoot 分布式事务的解决方案(JTA+Atomic+多数据源)

    这篇文章主要介绍了java SpringBoot 分布式事务的解决方案(JTA+Atomic+多数据源),文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下

  9. Java一维数组和二维数组元素默认初始化值的判断方式

    这篇文章主要介绍了Java一维数组和二维数组元素默认初始化值的判断方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  10. java实现emqx设备上下线监听详解

    这篇文章主要为大家介绍了java实现emqx设备上下线监听详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部