思路

系统功能:

1. 添加学生信息:学号、姓名、性别、出生日期、学院部门等等(点击添加按钮后,输入要添加的学生信息)
2. 修改学生信息:根据学生学号修改(点击修改按钮后,输入存在的学号进行信息修改)
3. 查询学生信息:根据学生学号查询(点击查询按钮后,输入存在的学号进行信息查询)
4. 删除学生信息:根据学生学号删除(点击删除按钮后,输入存在的学号进行信息删除)
5. 浏览学生信息:浏览所有学生信息(点击浏览按钮后,会出现一个表格化的形式来显示所有已有学生)
开发框架:Spring       开发工具:IDAE+MySQL+Maven      语言使用:Java+MySQL     硬件环境:Windows

功能测试

  1. 添加

  1. 修改

  2. 查询

  3. 删除


  4. 浏览

    这边多添加几个学生做实验:

    后台数据库也一样:

  5. 图形化主界面

实现步骤思路:

一、创建Spring项目:1. 选择Spring框架
2. 进行Spring项目设置
3. 依赖选择:Web——勾选Spring Web
4. 选择项目路径
5. 点击完成
二、配置pom.xml文件6. 添加MySQL驱动依赖
三、创建功能类:7. 创建一个添加学生信息 Add 功能类
8. 创建一个修改学生信息 Change 功能类
9. 创建一个查询学生信息 Ask 功能类
10. 创建一个删除学生信息 Delete 功能类
11. 创建一个浏览学生信息 Look 功能类
12. 创建一个图形化主界面 Windw 类
四、添加学生信息 Add 功能类实现思路:1. 需要继承JFrame容器类:该类可以快速的开发出Java界面应用程序(c/s架构),
属于java.swing知识体系;它是屏幕上window的对象,能够最大化、最小化、关闭。
2. 定义一个私密静态不能被继承的long类型的变量serialVersionUID(序列版本UID): -1928970409928880648L
3. 创建具有指定图像和水平对齐方式的JLabel实例——用于界面里提示框:学号、姓名、性别、出生日期、学院等的提示框。
4. 创建用于信息输入的文本框JTextField实例——用于界面里文本框:学号、姓名、性别、出生日期、学院等的输入文本框。
5. 创建按钮JButton实例——用于界面里按钮功能:添加、返回
6. 定义添加方法
7. 在添加方法里:(1) 创建五个轻量级容器JPanel实例——用于存放提示框、按钮、文本框(JPanel面板本身是不能作为窗口进行显示,必须依赖于JFrame容器等进行显示)(2) 再创建一个轻量级容器JPanel实例,在JPanel容器里再创建一个1行1列的布局GridLayout实例——就是把添加、返回组件按1行1列来布局(3) 在添加方法里五个轻量级容器JPanel实例调用add方法——将提示框(学号、姓名、性别、出生日期、学院等)、文本输入框放进相应的罐子JPanel实例(4) 在添加方法里按钮JButton实例调用add方法——将添加、返回按钮按照1行1列的布局放进罐子JPanel实例(5) 每一个事件都需要一个监听器,在添加方法里定义一个内部匿名类来监听事件源产生的事件:(5-1) 定义一个Connection接口——用于与数据库的链接(5-2) 定义一个Statement接口——用于在已经建立数据库链接的基础上,向数据库发送要执行不带参数的简单SQL语句(5-3) 定义一个PreparedStatement接口——是Statement的子接口,用于防止SQL攻击、提高代码可读性、可维护性、提高效率(5-4) 定义一个String类型的变量sql——用于存放SQL的插入语句(5-5) 用try...catch语句——用于异常处理,防止出现异常时导致程序崩溃:(5-5-1) 调用Class.forName()方法要求JVM查找并加载指定的类到内存中,此时将"com.mysql.jdbc.Driver" 当做参数传入,就是告诉JVM,去"com.mysql.jdbc"这个路径下找Driver类,将其加载到内存中(5-5-2) catch:异常处理调用printStackTrace方法——在命令行打印异常信息在程序中出错的位置及原因(5-6) 用try...catch...finally语句——用于异常处理,防止出现异常时导致程序崩溃:(5-6-1) 用DriverManager.getConnection()方法——用于获得试图建立到制定数据库URL的连接,连接地址加上——?serverTimezone=UTC:让数据库时区和本地时区一样(5-6-2) 执行SQL的插入语句:sql(5-6-3) 调用setString方法将输入的学生信息写入sql插入语句的values(?,?,?,?,?等)——?:问号是用来代替插入的值:第一个?代表第一行插入的值,以此类推(5-6-4) 调用用于执行INSERT、UPDATE或DELETE 语句以及 SQL DDL(数据定义语言)语句的executeUpdate方法(5-6-5) catch:异常处理调用printStackTrace方法——在命令行打印异常信息在程序中出错的位置及原因(5-6-6) finally:最终化,一定被执行的代码程序(5-6-7) finally里再嵌套一个try...catch(5-6-7-1) 代码块:关闭Connection对象——释放此对象的数据库与JDBC资源(5-6-7-2) 异常处理:调用printStackTrace方法——在命令行打印异常信息在程序中出错的位置及原因
8. 在添加方法里:(8-1) 调用本类的方法(8-1-1) 设置标题的方法(8-1-2) 设置布局的方法——创建一个9行1列的布局(8-1-3) 添加方法添加:学号、姓名、性别、出生日期、学院等(8-1-4) 添加方法添加按钮:添加、返回(8-1-5) 设置位置:横、纵坐标——x:400,y:300(8-1-6) 设置大小:宽度:350,高度:300(8-1-7) 允许JVM可以根据数据模型执行paint方法开始画图并显示到屏幕上
五、修改学生信息 Change 功能类实现思路:1. 需要继承JFrame容器类:该类可以快速的开发出Java界面应用程序(c/s架构),
属于java.swing知识体系;它是屏幕上window的对象,能够最大化、最小化、关闭。
2. 定义一个私密静态不能被继承的long类型的变量serialVersionUID(序列版本UID): -1928970409928880648L
3. 创建具有指定图像和水平对齐方式的JLabel实例——用于界面里提示框:学号、姓名、性别、出生日期、学院等的提示框。
4. 创建用于信息输入的文本框JTextField实例——用于界面里文本框:学号、姓名、性别、出生日期、学院等的输入文本框。
5. 创建按钮JButton实例——用于界面里按钮功能:修改、返回
6. 定义修改方法
7. 在修改方法里:(1) 创建五个轻量级容器JPanel实例——用于存放提示框、按钮、文本框(JPanel面板本身是不能作为窗口进行显示,必须依赖于JFrame容器等进行显示)(2) 再创建一个轻量级容器JPanel实例,在JPanel容器里再创建一个1行1列的布局GridLayout实例——就是把修改、返回组件按1行1列来布局(3) 在修改方法里五个轻量级容器JPanel实例调用add方法——将提示框(学号、姓名、性别、出生日期、学院等)、文本输入框放进相应的罐子JPanel实例(4) 在修改方法里按钮JButton实例调用add方法——将修改、返回按钮按照1行1列的布局放进罐子JPanel实例(5). 每一个事件都需要一个监听器,在添加方法里定义一个内部匿名类来监听事件源产生的事件:(5-1) 定义五个String变量:学号、姓名、性别、出生日期、学院——用于存放文本框输入的学生信息(修改后的信息)(5-2) 定义一个Connection接口——用于与数据库的链接(5-3) 定义一个ResultSet接口——用于数据中查询结果返回(5-4) 定义一个Statement接口——用于在已经建立数据库连接的基础上,向数据库发送要执行不带参数的简单SQL语句(5-5) 定义一个String类型的变量sql——用于存放SQL的查询语句select(5-6) 用try...catch语句——用于异常处理,防止出现异常时导致程序崩溃:(5-6-1) Class.forName()方法要求JVM查找并加载指定的类到内存中,此时将"com.mysql.jdbc.Driver" 当做参数传入,就是告诉JVM,去"com.mysql.jdbc"这个路径下找Driver类,将其加载到内存中(5-6-2) catch:异常处理调用printStackTrace方法——在命令行打印异常信息在程序中出错的位置及原因(5-7) 用try...catch...finally语句——用于异常处理,防止出现异常时导致程序崩溃:(5-7-1) 用DriverManager.getConnection方法用于获得试图建立到制定数据库URL的连接,加上:?serverTimezone=UTC:让数据库时区和本地时区一样(5-7-2) 调用Connection.createStatement方法——用于创建一个Statement对象,封装SQL语句发送给数据库,通常用来执行不带参数的SQL语句(5-7-3) 调用executeQuery方法——用于执行数据库查询语句(5-7-4) while循环,用查询出来的结果调用next方法作为循环条件——将指针从当前位置下移一行,指针最初位置在第一行之前;第一次调用next方法使第一行成为当前行;第二次调用使第二行成为当前行,以此类推(5-7-4-1) if判断:指针指到表中的行数据时,文本框输入的学号与行数据的学号进行比较,存在,则修改学生信息(5-7-4-1-1) 用try...catch语句——用于异常处理,防止出现异常时导致程序崩溃:(5-7-4-1-1-1) Class.forName()方法要求JVM查找并加载指定的类到内存中,此时将"com.mysql.jdbc.Driver" 当做参数传入,就是告诉JVM,去"com.mysql.jdbc"这个路径下找Driver类,将其加载到内存中(5-7-4-1-1-2) 调用printStackTrace方法——在命令行打印异常信息在程序中出错的位置及原因(5-7-4-1-2) 定义四个String变量:姓名、性别、出生日期、学院——用于存放SQL的更新语句(除了学号,其他信息都可修改)(5-7-4-1-3) 用try...catch语句——用于异常处理,防止出现异常时导致程序崩溃:(5-7-4-1-3-1) DriverManager.getConnection()方法用于获得试图建立到制定数据库URL的连接,加上:?serverTimezone=UTC:让数据库时区和本地时区一样(5-7-4-1-3-2) Connection.createStatement方法用于创建一个Statement对象,封装SQL语句发送给数据库,通常用来执行不带参数的SQL语句(5-7-4-1-3-3) 调用四个executeUpdate方法——用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句(5-7-4-1-4) catch:异常处理调用printStackTrace方法——在命令行打印异常信息在程序中出错的位置及原因(5-7-4-1-5) 用try...catch语句——用于异常处理,防止出现异常时导致程序崩溃:(5-7-4-1-5-1) 关闭Statement接口(5-7-4-1-5-2) 关闭Connection接口(5-7-4-1-6) catch:异常处理调用printStackTrace方法——在命令行打印异常信息在程序中出错的位置及原因(5-7-4-1-7) 跳出(6) catch:异常处理调用printStackTrace方法——在命令行打印异常信息在程序中出错的位置及原因(7) finally:最终化,一定会被执行的代码(7-1) 用try...catch语句——用于异常处理,防止出现异常时导致程序崩溃:(7-1-1) 关闭Connection接口(7-1-2) catch:异常处理调用printStackTrace方法——在命令行打印异常信息在程序中出错的位置及原因
8. 在修改方法里:(8-1) 调用本类的方法(8-1-1) 设置标题的方法(8-1-2) 设置布局的方法——创建一个9行1列的布局(8-1-3) 添加方法添加:学号、姓名、性别、出生日期、学院等(8-1-4) 添加方法添加按钮:修改、返回(8-1-5) 设置位置:横、纵坐标——x:400,y:300(8-1-6) 设置大小:宽度:350,高度:300(8-1-7) 允许JVM可以根据数据模型执行paint方法开始画图并显示到屏幕上
六、查询学生信息 Ask 功能类实现思路:1. 需要继承JFrame容器类:该类可以快速的开发出Java界面应用程序(c/s架构),
属于java.swing知识体系;它是屏幕上window的对象,能够最大化、最小化、关闭。
2. 定义一个私密静态不能被继承的long类型的变量serialVersionUID(序列版本UID): -1928970409928880648L
3. 创建五个JLabel实例——用于显示:学号、姓名、性别、出生日期、学院信息
4. 创建一个JTextField实例——用于信息输入的文本框:学号
5. 创建四个JLabel实例——用于显示文本、图像或同时显示二者
6. 创建按钮JButton实例:查询、返回
7. 定义查询方法
8. 在查询方法里:(1) 创建五个轻量级容器JPanel实例——用于存放提示框、按钮、文本框(JPanel面板本身是不能作为窗口进行显示,必须依赖于JFrame容器等进行显示)(2) 创建一个轻量级容器JPanel实例,在JPanel里创建一个1行1列的布局GridLayout实例——就是把查询、返回组件按1行1列来布局(3) 在查询方法里五个轻量级容器JPanel实例调用add方法——将提示框(学号、姓名、性别、出生日期、学院等)、文本输入框放进相应的罐子JPanel实例(4) 在查询方法里按钮JButton实例调用add方法——将查询、返回按钮按照1行1列的布局放进罐子JPanel实例(5) 每一个事件都需要一个监听器,在添加方法里定义一个内部匿名类来监听事件源产生的事件:(5-1) 定义一个Connection接口——用于与数据库的链接(5-3) 定义一个ResultSet接口——用于数据中查询结果返回(5-2) 定义一个Statement接口——用于在已经建立数据库连接的基础上,向数据库发送要执行不带参数的简单SQL语句(5-3) 定义一个String变量——用于存放SQL的查询语句select(5-4) 用try...catch语句——用于异常处理,防止出现异常时导致程序崩溃:(5-4-1) Class.forName()方法要求JVM查找并加载指定的类到内存中,此时将"com.mysql.jdbc.Driver" 当做参数传入,就是告诉JVM,去"com.mysql.jdbc"这个路径下找Driver类,将其加载到内存中(5-4-2) catch:异常处理调用printStackTrace方法——在命令行打印异常信息在程序中出错的位置及原因(5-5) 用try...catch...finally语句——用于异常处理,防止出现异常时导致程序崩溃:(5-5-1) DriverManager.getConnection()方法用于获得试图建立到制定数据库URL的连接,加上:?serverTimezone=UTC:让数据库时区和本地时区一样(5-5-2) 调用Connection.createStatement方法——用于创建一个Statement对象,封装SQL语句发送给数据库,通常用来执行不带参数的SQL语句(5-5-3) 调用executeQuery方法——执行数据库查询语句(5-5-4) while循环,用查询出来的结果调用next方法作为循环条件——将指针从当前位置下移一行,指针最初位置在第一行之前;第一次调用next方法使第一行成为当前行;第二次调用使第二行成为当前行,以此类推(5-5-4-1) if判断:指针指到表中的行数据时,文本框输入的学号与行数据的学号进行比较,存在,则显示学生信息(5-5-4-1-1) 学号存在,将学生信息显示出来(5-5-4-1-2) 跳出(5-6) catch:异常处理调用printStackTrace方法——在命令行打印异常信息在程序中出错的位置及原因(5-7) finally:最终化,一定会被执行的代码(5-7-1) 用try...catch语句——用于异常处理,防止出现异常时导致程序崩溃:(5-7-1-1) 关闭Connection接口,释放此对象的数据库与JDBC资源(5-7-2) catch:异常处理调用printStackTrace方法——在命令行打印异常信息在程序中出错的位置及原因
9. 在查询方法里:(9-1) 调用本类的方法(8-1-1) 设置标题的方法(8-1-2) 设置布局的方法——创建一个9行1列的布局(8-1-3) 添加方法添加:学号、姓名、性别、出生日期、学院等(8-1-4) 添加方法添加按钮:查询、返回(8-1-5) 设置位置:横、纵坐标——x:400,y:300(8-1-6) 设置大小:宽度:350,高度:300(8-1-7) 允许JVM可以根据数据模型执行paint方法开始画图并显示到屏幕上
七、删除学生信息 Delete 功能类实现思路:1. 需要继承JFrame容器类:该类可以快速的开发出Java界面应用程序(c/s架构),
属于java.swing知识体系;它是屏幕上window的对象,能够最大化、最小化、关闭。
2. 定义一个私密静态不能被继承的long类型的变量serialVersionUID(序列版本UID): -1928970409928880648L
3. 创建一个JLabel实例——用于显示学号提示框
4. 创建一个文本框JTextField实例——用于学号输入
5. 创建一个按钮JButton实例——按钮功能:删除、返回
6. 定义删除方法
7. 在删除方法里:(1) 创建一个罐子JPanel实例——用于存放用户输入的学号(要删除的学生)(2) 创建一个罐子JPanel实例,在罐子里创建一个1行1列的布局——用于布局删除、返回按钮(3) 在删除方法四个轻量级容器JPanel实例调用add方法将提示框、按钮:删除、返回和输入的信息放进相应的罐子(4) 每一个事件都需要一个监听器,在添加方法里定义一个内部匿名类来监听事件源产生的事件:(4-1) 定义一个String变量——将输入的学号(要删除的学生)get出来,存起来,用于根据输入的学号来删除学生(4-2) 定义一个Connection接口——用于与数据库的链接(4-3) 定义一个ResultSet接口——用于数据中查询结果返回(4-4) 定义一个Statement接口——用于在已经建立数据库连接的基础上,向数据库发送要执行不带参数的简单SQL语句(4-5) 定义一个String变量——用于存放SQL的删除语句delete(4-6) 用try...catch语句——用于异常处理,防止出现异常时导致程序崩溃:(4-6-1) Class.forName()方法要求JVM查找并加载指定的类到内存中,此时将"com.mysql.jdbc.Driver" 当做参数传入,就是告诉JVM,去"com.mysql.jdbc"这个路径下找Driver类,将其加载到内存中(4-7) catch:异常处理调用printStackTrace方法——在命令行打印异常信息在程序中出错的位置及原因(4-8) 用try...catch...finally语句——用于异常处理,防止出现异常时导致程序崩溃:(4-8-1) DriverManager.getConnection()方法用于获得试图建立到制定数据库URL的连接,加上:?serverTimezone=UTC:让数据库时区和本地时区一样(4-8-2) 用Connection.createStatement方法——用于创建一个Statement对象,封装SQL语句发送给数据库,通常用来执行不带参数的SQL语句(4-8-3) 用executeUpdate方法——用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句(4-9) catch:异常处理调用printStackTrace方法——在命令行打印异常信息在程序中出错的位置及原因(5-0) finally:最终化,一定会被执行的代码(5-0-1) 关闭Connection对象,释放此对象的数据库与JDBC资源(5-0-2) catch:异常处理调用printStackTrace方法——在命令行打印异常信息在程序中出错的位置及原因
8. 在删除方法里:(8-1) 调用本类的方法(8-1-1) 设置标题的方法(8-1-2) 设置布局的方法——创建一个9行1列的布局(8-1-3) 添加方法添加:学号(8-1-4) 添加方法添加按钮:删除、返回(8-1-5) 设置位置:横、纵坐标——x:400,y:300(8-1-6) 设置大小:宽度:350,高度:300(8-1-7) 允许JVM可以根据数据模型执行paint方法开始画图并显示到屏幕上
八、浏览学生信息 Look 功能类实现思路:1. 需要继承JFrame容器类:该类可以快速的开发出Java界面应用程序(c/s架构),
属于java.swing知识体系;它是屏幕上window的对象,能够最大化、最小化、关闭。
2. 定义一个私密静态不能被继承的long类型的变量serialVersionUID(序列版本UID): -1928970409928880648L
3. 定义一个Connection接口——用于与数据库的链接
4. 定义一个PreparedStatement接口——是Statement的子接口,用于防止SQL攻击、提高代码可读性、可维护性、提高效率
5. 定义一个ResultSet接口——用于数据中查询结果返回
6. 定义一个表格JTable实例
7. 定义一个滚动面板JScrollPane实例——JScrollPane,滚动面板。JScrollPane 支持水平和垂直滚动视图。文本区域、表格等需要显示较多数据而空间又有限时,通常使用 JScrollPane 进行包裹以实现滚动显示
8. 定义两个Vector集合实例——用于存放行名和行数据(Vector类(向量)提供类似于数组的能力,且能够动态地调整自身的大小。Vector类似于一个数组,但与数组相比在使用上有两个优点:1. 使用的时候无须声明上限,随着元素的增加,Vector的长度会自动增加;2. Vector类提供额外的方法来增加、删除元素,比数组操作高效)
9. 定义浏览方法
10.在浏览方法里:(10-1) 创建一个轻量级容器JPanel实例,在容器里创建一个1行1列的布局GridLayout实例(10-2) 实例化Vector集合列名,因为Vector是在方法外定义的,所以要new实例化后才能用(10-3) 添加五个列名:学号、姓名、性别、出生日期、学院(10-4) 实例化Vector集合行数据(10-5) 用try...catch...finally语句——用于异常处理,防止出现异常时导致程序崩溃:(10-5-1) Class.forName()方法要求JVM查找并加载指定的类到内存中,此时将"com.mysql.jdbc.Driver" 当做参数传入,就是告诉JVM,去"com.mysql.jdbc"这个路径下找Driver类,将其加载到内存中(10-5-2) DriverManager.getConnection()方法用于获得试图建立到制定数据库URL的连接,加上:?serverTimezone=UTC:让数据库时区和本地时区一样(10-5-3) 调用preparedStatement方法——写上查询语句:PreparedStatement对象不仅包含了SQL语句,而且大多数情况下这个语句已经被预编译过,因而当其执行时,只需DBMS运行SQL语句,而不必先编译。(10-5-4) 调用executeQuery方法——执行数据库查询语句(10-5-5) while循环,用查询出来的结果调用next方法作为循环条件——将指针从当前位置下移一行,指针最初位置在第一行之前;第一次调用next方法使第一行成为当前行;第二次调用使第二行成为当前行,以此类推(10-5-6) 创建Vector集合实例,用于存放指针扫描到的列索引的行数据(10-5-7) 将指针扫描到的五个列索引的行数据添加到集合hang里(10-5-8) 再将Vector集合实例添加到Vector集合实例行数据里(10-6) catch:异常处理调用printStackTrace方法——在命令行打印异常信息在程序中出错的位置及原因(10-7) finally:最终化,一定会被执行的代码(10-7-1) 用try...catch语句——用于异常处理,防止出现异常时导致程序崩溃:(10-7-1-1) 关闭ResultSet接口(10-7-1-2) 关闭PrepareStatement接口(10-7-1-3) 关闭Connection接口(10-7-2) catch:异常处理调用printStackTrace方法——在命令行打印异常信息在程序中出错的位置及原因
11. 在浏览方法里:(11-1) 实例化表格JTable实例,因为是在浏览方法外定义的,所以要实例化才能用——用于将查询到的所有学生信息放进表格里(11-2) 实例化滚动面板JScrollPane实例——再将表格JTable对象放进滚动面板JScrollPane对象里(11-3) 调用本类的方法(11-3-1) 添加滚动面板JScrollPane实例对象(11-3-2) 设置标题(11-3-3) 设置布局:创建一个2行5列的布局(11-3-4) 设置位置:横、纵坐标——x:300,y:300(11-3-5) 设置大小:宽度:500,高度:300(11-3-6) 允许JVM可以根据数据模型执行paint方法开始画图并显示到屏幕上(11-3-7) 默认大小是可以改变的(true),用鼠标可以拉伸窗口,设置为false之后,就固定大小不能改变
九、图形化主界面 Window 功能类实现思路:(1) 创建main主方法
(2) 创建一个Window的对象JFrame,标题设为:学生管理系统——JFrame是官方提供的一个类,这个类的主要功能是使用该类可以快速的开发出Java界面应用程序(c/s架构)
(3) 创建Dimension实例,设置宽度:400、高度:300
(4) 创建Point实例,设置点的横、纵坐标——x:250,y:350
(5) 设置JFrame实例对象——主界面的宽度、高度
(6) 设置JFrame实例对象——主界面的横、纵坐标
(7) 设置JFrame实例对象——设置用户在主界面上关闭时默认执行的操作:使用System exit方法退出应用程序
(8) 设置JFrame实例对象——允许JVM可以根据数据模型执行paint方法开始画图并显示到屏幕上
(9) 创建五个按钮JButton实例:添加、修改、查询、删除、浏览
(10) 创建一个布局FlowLayout实例——设置主界面为组件左对齐,并且组件的水平间距为10像素,垂直间距为10像素
(11) 创建一个轻量级容器JPanel实例——将FlowLayout布局实例添加到容器里:它可以为添加到窗体中的轻型控件提供通用的容器
(12) 将五个按钮JButton实例对象放进容器里
(13) 将装好按钮的轻量级容器JPanel实例放进主界面JFrame实例对象里
(14) 每一个事件需要一个监听器——定义一个匿名内部类来监听事件源产生的事件:(14-1) 将添加学生信息 Add 功能类实例化
(15) 每一个事件需要一个监听器——定义一个匿名内部类来监听事件源产生的事件:(15-1) 将修改学生信息 Change 功能类实例化
(16) 每一个事件需要一个监听器——定义一个匿名内部类来监听事件源产生的事件:(16-1) 将查询学生信息 Ask 功能类实例化
(17) 每一个事件需要一个监听器——定义一个匿名内部类来监听事件源产生的事件:(17-1) 将删除学生信息 Delete 功能类实例化
(18) 每一个事件需要一个监听器——定义一个匿名内部类来监听事件源产生的事件:(18-1) 将浏览学生信息 Look 功能类实例化

到这里!希望大家能够按照这个思路来自己动手编程,实在不懂再看以下代码,在此声明:博主不上传可复制代码,希望码友们可以自己多动手手打,多打注释,自己看得懂的同时,别人也可以读懂!加油!

代码截图

添加学生信息 Add 功能类:

修改学生信息 Change 功能类:

查询学生信息 Ask 功能类:

删除学生信息 Delete 功能类:

浏览学生信息 Look 功能类:

图形化主界面 Window 功能类:

Java基于本地MySQL连接设计图形化界面学生管理系统相关推荐

  1. MySQL的图形化界面开发工具DataGrip的下载安装

    在日常的开发中,会借助于MySQL的图形化界面,来简化开发,提高开发效率.目前mysql主流的图形化界面工具,有Navicat.SQLyog.DataGrip等,最后一种DataGrip,这种图形化界 ...

  2. Windows安装mysql及图形化界面navicat

    安装Mysql及图形化界面Navicat 有段时间没有更新博客了,新博客访问和互动很少,所以没什么动力. 想来也是自己更新得太少了,最近上课需要,姑且更新一些简单的环境搭建,如有不懂的地方欢迎评论,如 ...

  3. 精品网站 mysql,【网址导航系统】基于PHP+MYSQL开发的开源网站分类目录管理系统...

    温馨提示:本信息由[会员:洪七公]搜集整理发布,版权归原作者及发布者所有,您如有异议请 举报 或者 版权申诉. [网址导航系统]基于PHP+MYSQL开发的开源网站分类目录管理系统 DYCMS的主要特 ...

  4. 基于javaweb+mysql的农产品水果店销售管理系统

    基于javaweb+mysql的农产品水果店销售管理系统 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适 ...

  5. 基于javaweb+mysql的电影院售票购票电影票管理系统(前台、后台)

    基于javaweb+mysql的电影院售票购票电影票管理系统(前台.后台) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适 ...

  6. 基于javaweb+mysql的校园招聘平台招聘管理系统(平台、企业、用户)

    基于javaweb+mysql的校园招聘平台招聘管理系统(平台.企业.用户) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse/st ...

  7. 基于javaweb+mysql的+JPA旅行网站旅游管理系统(前台、后台)

    基于javaweb+mysql的+JPA旅行网站旅游管理系统(前台.后台) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适 ...

  8. jsp+mysql汽车维修管理系统的设计与开发_基于JSP+MySQl的计算机学院设备报修管理系统.doc...

    基于JSPMySQl的计算机学院设备报修管理系统 毕业设计 基于JSP+MySQl的计算机学院设备报修管理系统 大学 年6月 毕业设计 基于JSP+MySQl的计算机学院设备报修 管理系统 学 生: ...

  9. 基于SSH+MySQL+Bootstrap的高校实验室预约管理系统

    登陆 添加用户 添加用户 添加器材 器材管理 申请购买 用户管理 上传资料 用户列表 技术描述 开发工具: Idea/Eclipse 数据库: mysql Jar包仓库: Jar包 前段框架:jque ...

最新文章

  1. Spring Framework(框架)整体架构
  2. 【附赠PPT】 KubeMeet 成都站回顾:让云原生应用交付和管理变得更简单
  3. Intel MKL 多线程设置
  4. 【kafka】kafka 指定分区消费 不会触发 reblance
  5. render java_render 实现v-model
  6. 一图说清:做数据分析,到底要懂多少业务知识?
  7. TypeScript学习(八):数组的补充及内置对象说明
  8. matlab 修正后阿尔法,修正后的阿尔法均值滤波器Alpha.ppt
  9. 远哥跟你说 Spring的 classpath 通配符加载配置文件
  10. java----内省
  11. 华工校赛E-舞蹈链模板(9x9数独)
  12. 新手练字又快又好的方法
  13. java 下划线 变量_Java数值类型变量带下划线
  14. 计算模型的GFLOPs和参数量 举例VGG16和DETR
  15. 计算机工程师相关政策,计算机中级工程师论文发表(发表时机和要求)
  16. 阿里云智能编码插件,Cosy文档搜索上新了
  17. javascript11位手机号码正则表达式
  18. Cortex-A 系列处理器
  19. 字符串解压缩类库(zip、GZIP、QuickLz、snappy、lzf、jzlib)性能对比
  20. Cognos Analytics教程之为什么我喜欢 Cognos Analytics:IBM Cognos Analytics 的 15 个特性

热门文章

  1. Could not download xxx.jar的解决办法
  2. 愿自己能早日摆脱积极废人
  3. 服务器维修功夫全明星,《功夫全明星》新服开启时间表
  4. 【老生谈算法】matlab实现图像滤波处理算法源码——图像滤波处理算法
  5. 杨辉三角的C语言实现(递归与非递归)
  6. Canvas绘制一个类似老版支付宝信用分仪表盘效果
  7. 干货!小程序,爆红的三大规律
  8. 教育网的同学有福了!!腾讯TT 4.6.1“教育网专版”发布
  9. 格式化输出:fmt库用法
  10. 基于ssh酒店管理系统