精华内容
下载资源
问答
  • 数据库怎么创建学生信息
    千次阅读
    2021-02-05 07:04:17

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。

    数据库创建学生信息表的方法是:

    1、新建表:单击数据库“studentDb”前图标,然后右键“表”文件包,单击“新建表”选项,进入“新建表”窗口。

    2、设定表标识字段id:填写第一个列名“id”,设定数据类型为“int”,同时在“列属性”位置中“标识规范”中设定“是标识”的值为“是”。

    3、设定表其它字段:依次填写字段学号stuNumber(varchar(50),不为空)、姓名stuName(varchar(50),可为空)、性别stuXb(varchar(50),可为空)、年龄stuAge(int,可为空)、出生日期stuBirth(datetime,可为空)。

    4、单击表的右上角“  ×   ”图标,进入“保存对以下各项的更改吗”对话框。

    5、单击“是”,进入“选择名称”对话框,填写表名为“student”。特别强调:表名不能采用常见的关键词(如for、name、where、to等)命名。

    6、单击“确定”,学生个人信息student表创建完成。

    7、单击数据库“studentDb”前面“×”图标,然后单击“表”前面的“”图标,右键“student”表,单击“打开表”选项,即可向表中填入数据,注意:id字段值自动填入,不能手填。

    8、单击student表的右上角“× ”图标,关闭表同时自动保存学生个人信息。

    更多相关内容
  • 以学生管理为主要内容,设计有关学生信息管理数据库系统。要求:涵盖学生基本情况、学生成绩、奖惩、宿舍管理、社团管理、课表管理、缴费注册信息等。包含触发器及存储过程,十个查询,需求分析、E-R图、数据字典...
  • 学生信息管理系统 功能说明 学生信息管理,包括学生、班级、院系、课程、成绩等的管理。 本程序仅供学习食用。 工程环境 JDK IntelliJ IDEA MySQL 运行说明 1、安装JDK。 2、导入SQL脚本并配置。 使用前...
  • 学生信息管理数据库实例,实例数据库文件学生信息管理数据库实例,实例数据库文件,用于数据库查询练习!
  • SQL server+java实现的学生信息管理系统-数据库原理课程设计报告。SQL server+java实现的学生信息管理系统-数据库原理课程设计报告。SQL server+java实现的学生信息管理系统-数据库原理课程设计报告。
  • 这是基于android开发的学生信息管理系统,包括学生的增加、删除、查询、修改、详细信息查看;除此之外,该系统应用到了手机内置的sqlite数据库来进行数据的存储,所以,是学生学习android的一次不错的选择,应用工具...
  • Android 数据库编程SQLite实现学生信息管理应用https://blog.csdn.net/qq_45808700/article/details/117535524?spm=1001.2014.3001.5501
  • 能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。具体功能应包括:系统应该提供课程安排数据的插入、删除、...成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。
  • 通过java代码连接mysql数据库(JDBC),实现对数据库中表格的增删查改操作,同时增加了"注册"功能,内有java源代码和简单的PPT介绍,适用于初学数据库的人员。
  • 简单的学生信息管理系统,自己建个数据库就可完美运行。
  • 武汉科技大学,基于Java的数据库课程设计,学生社团管理系统,包含题目,说明,代码,ER图,报告等
  • 数据库课程设计-JAVA实现学生信息管理系统源代码,是自己进行课程设计的时候做的,运行没有问题!可以做参考!
  • C++基于数据库Mysql学生信息管理系统.zip C++基于数据库Mysql学生信息管理系统.zip C++基于数据库Mysql学生信息管理系统.zip C++基于数据库Mysql学生信息管理系统.zip C++基于数据库Mysql学生信息管理系统.zip ...
  • 这是一个简单的学生成绩管理系统,可以对学生及成绩信息进行增改删查。也可以对班级、学生、课程及成绩进行分类查询。
  • python写的学生信息管理系统,GUI界面+mysql数据库,实现了增删改查等基本功能,详情请看我的博客
  • 简易学生信息管理系统,采用java编写,数据库采用sqlsever,含数据库文件和java源文件,包含sqljdbc驱动,用于连接sqlsever2005,2012
  • 这是用pycharm软件编写的基于django的学生信息管理系统,含有MySQL数据库数据库得自己配,具体配置方法需要百度,数据库表配置文件在models,数据库配置文件在setting里database,有问题可以评论
  • 数据库学生信息管理系统

    千次阅读 2020-06-16 14:03:51
    数据库管理系统基于学生表进行数据的存储和读取,首先由一个登陆界面,输入正确的学生的学号和密码才能进入系统,如果学生登陆成功,曾通过菜单命令显示所有学生信息、添加学生、插入学生、删除学生、根据姓名查询...

    数据库学生信息管理系统

    设计任务:
    本管理系统基于学生表进行数据的存储和读取,首先由一个登陆界面,输入正确的学生的学号和密码才能进入系统,如果学生登陆成功,曾通过菜单命令显示所有学生信息、添加学生、插入学生、删除学生、根据姓名查询学生信息,查看学生平均成绩和成绩统计
    分析等。

    需求分析:
    用户需要一个用户登录系统以保证数据库的隐私,通过姓名学号检验是否有登录权限,之后设计一个主页面,设计简易下拉框来实现页面简洁性,下拉框包括查询,查询包括按姓名查询,ID查询;更新功能,更新功能又可实现数据的增加,删除,修改,这可以再通过一个小窗口实现;成绩查询,学生平均分显示,不及格人数查询,优秀人数查询。这就是一个简单的学生信息管理系统。

    细节分析

    标题通过sql语句创建数据库,建立需要的表,同时插入所需要的的数据,然后建立数据库连接类,使用JDBC连接数据库需要四步,第一步加载驱动程序;第二步,连接数据库;第三步,访问数据库;第四步,执行查询;其中在第四步执行查询时,要用statement类的executeQuery()方法来下达select指令以查询数据库,executeQuery()方法会把数据库响应的查询结果存放在ResultSet类对象中供我们使用。建立好数据库连接类后开始实现所需要的功能的类,先将要使用的Connection con,PreparedStatement pstat,ResultSet rs变量定义好,首先是查询类,通过姓名进行查询,通过ID进行查询,查询全部,然后调用连接类连接oracle数据库,再通过查找所需要的对应的sql语句设置查找条件,再对返回的结果集进行处理,最后关闭数据库;紧接着是修改类,然后调用连接类连接oracle数据库,再通过修改信息所需要的对应的sql语句设置修改条件,再对返回的结果集进行处理,这里设置返回结果为布尔型,便于用户看到修改是否成功,最后关闭数据库;之后是增加学生类,然后调用连接类连接oracle数据库,再通过增加信息所需对应的sql语句设置增加条件,再对返回的结果集进行处理,这里设置返回结果为布尔型,便于用户看到增加是否成功,最后关闭数据库。之后是删除类,然后调用连接类连接oracle数据库,再通过删除信息所需对应的sql语句设置删除条件,再对返回的结果集进行处理,这里设置返回结果为布尔型,便于用户看到删除是否成功,最后关闭数据库。第五步,实现用户窗体页面,创建登录窗体类,通过调用查询类查询用户密码是否存在,再创建主窗体类,登陆成功后进入主窗体,主窗体包括查询,更改,删除,增加的一个下拉框,平均成绩,成绩统计的一个下拉框。通过设置button按钮监听,实现对各个功能类的调用。最后达到用户的需求。

    #附部分功能截图

    学生信息查询功能
    学生信息修改
    学生成绩查询
    备注:需完整word请到主页下载。

    展开全文
  • MySQL数据库实验(六):创建学生信息管理系统

    千次阅读 多人点赞 2020-04-22 17:11:15
    学生信息管理系统内容: 学生表student(Sno,Sname,Ssex,Sage,Sdept) 课程表course(Cno,Cname,Cpno,Ccredit) 学生选课表SC(Sno,Cno,Grade) 一、 创建数据库并使用 mysql> use dx; Database changed 二、 创建...

    学生信息管理系统内容:
    学生表student(Sno,Sname,Ssex,Sage,Sdept)
    课程表course(Cno,Cname,Cpno,Ccredit)
    学生选课表SC(Sno,Cno,Grade)

    一、 创建数据库并使用

    mysql> use dx;
    Database changed
    

    二、 创建数据库表并显示数据课表结构

    学生选课表SC(Sno,Cno,Grade)

    mysql> create table SC
        -> (Sno varchar(255),
        -> Cno varchar(255),
        -> Grade smallint
        -> );
    Query OK, 0 rows affected (0.06 sec)
    
    mysql> desc sc;
    +-------+--------------+------+-----+---------+-------+
    | Field | Type         | Null | Key | Default | Extra |
    +-------+--------------+------+-----+---------+-------+
    | Sno   | varchar(255) | YES  |     | NULL    |       |
    | Cno   | varchar(255) | YES  |     | NULL    |       |
    | Grade | smallint(6)  | YES  |     | NULL    |       |
    +-------+--------------+------+-----+---------+-------+
    3 rows in set (0.05 sec)
    
    mysql>
    

    学生表student(Sno,Sname,Ssex,Sage,Sdept)

    mysql> create table student(Sno varchar(255),Sname varchar(255),Sage int,Sdept varchar(255));
    Query OK, 0 rows affected (0.08 sec)
    
    mysql> desc student;
    +-------+--------------+------+-----+---------+-------+
    | Field | Type         | Null | Key | Default | Extra |
    +-------+--------------+------+-----+---------+-------+
    | Sno   | varchar(255) | YES  |     | NULL    |       |
    | Sname | varchar(255) | YES  |     | NULL    |       |
    | Sage  | int(11)      | YES  |     | NULL    |       |
    | Sdept | varchar(255) | YES  |     | NULL    |       |
    +-------+--------------+------+-----+---------+-------+
    4 rows in set (0.01 sec)
    
    mysql>
    

    课程表course(Cno,Cname,Cpno,Ccredit)

    mysql> create table course(Cno varchar(255),Cname varchar(255),Cpno int,Ccredit varchar(255));
    Query OK, 0 rows affected (0.09 sec)
    
    mysql> desc course;
    +---------+--------------+------+-----+---------+-------+
    | Field   | Type         | Null | Key | Default | Extra |
    +---------+--------------+------+-----+---------+-------+
    | Cno     | varchar(255) | YES  |     | NULL    |       |
    | Cname   | varchar(255) | YES  |     | NULL    |       |
    | Cpno    | int(11)      | YES  |     | NULL    |       |
    | Ccredit | varchar(255) | YES  |     | NULL    |       |
    +---------+--------------+------+-----+---------+-------+
    4 rows in set (0.01 sec)
    

    显示数据库中是数据库表:

    mysql> show tables;
    +--------------+
    | Tables_in_dx |
    +--------------+
    | course       |
    | sc           |
    | student      |
    +--------------+
    3 rows in set (0.00 sec)
    

    三、 在数据库表中插入数据

    在数据库表SC中插入数据:

    mysql>  insert into SC values('20161018','1',90);
    Query OK, 1 row affected (0.00 sec)
    
    mysql>  insert into SC values('20161019','2',90);
    Query OK, 1 row affected (0.00 sec)
    
    mysql>  insert into SC values('20161020','3',100);
    Query OK, 1 row affected (0.00 sec)
    
    mysql>  insert into SC values('20161021','4',89);
    Query OK, 1 row affected (0.00 sec)
    
    mysql> select * from SC;
    +----------+------+-------+
    | Sno      | Cno  | Grade |
    +----------+------+-------+
    | 20161018 | 1    |    90 |
    | 20161019 | 2    |    90 |
    | 20161020 | 3    |   100 |
    | 20161021 | 4    |    89 |
    +----------+------+-------+
    4 rows in set (0.00 sec)
    
    

    其他数据库表插入数据也一样,不过需要注意的是变量的形式(字符型、整型、浮点数)

    mysql> select * from student;
    +----------+-------+------+------+-------+
    | Sno      | Sname | Ssex | Sage | Sdept |
    +----------+-------+------+------+-------+
    | 20161018 | 里勇  ||   20 | CS    |
    | 20161019 | 刘成  ||   19 | IS    |
    | 20161020 | 王敏  ||   19 | MA    |
    | 20161021 | 张里  ||   18 | MA    |
    +----------+-------+------+------+-------+
    4 rows in set (0.00 sec)
    
    mysql> select Sno,Sname from student;
    +----------+-------+
    | Sno      | Sname |
    +----------+-------+
    | 20161018 | 里勇  |
    | 20161019 | 刘成  |
    | 20161020 | 王敏  |
    | 20161021 | 张里  |
    +----------+-------+
    4 rows in set (0.00 sec)
    
    mysql> select Sname,2016-Sage from student;
    +-------+-----------+
    | Sname | 2016-Sage |
    +-------+-----------+
    | 里勇  |      1996 |
    | 刘成  |      1997 |
    | 王敏  |      1997 |
    | 张里  |      1998 |
    +-------+-----------+
    4 rows in set (0.00 sec)
    
    
    mysql> select * from course;
    +-----+----------+------+---------+
    | Cno | Cname    | Cpno | Ccredit |
    +-----+----------+------+---------+
    | 1   | 高数     | 1    |       6 |
    | 2   | 大物     | 2    |       4 |
    | 3   | 数电     | 3    |       6 |
    | 4   | 大学英语 | 4    |       5 |
    | 5   | 数据库   | 5    |       3 |
    +-----+----------+------+---------+
    5 rows in set (0.04 sec)
    

    四、将数据库表进行改名

    mysql> select Sname as 姓名,'Year of Birth:',2016-Sage 出生年份,lower(Sdept) 学院 from student;
    +------+----------------+----------+------+
    | 姓名 | Year of Birth: | 出生年份 | 学院 |
    +------+----------------+----------+------+
    | 里勇 | Year of Birth: |     1996 | cs   |
    | 刘成 | Year of Birth: |     1997 | is   |
    | 王敏 | Year of Birth: |     1997 | ma   |
    | 张里 | Year of Birth: |     1998 | ma   |
    +------+----------------+----------+------+
    4 rows in set (0.00 sec)
    
    

    五、 对数据库表进行各种操作

    mysql> select Sno from SC;
    +----------+
    | Sno      |
    +----------+
    | 20161018 |
    | 20161019 |
    | 20161020 |
    | 20161021 |
    +----------+
    4 rows in set (0.00 sec)
    
    mysql> select distinct Grade from SC;
    +-------+
    | Grade |
    +-------+
    |    90 |
    |   100 |
    |    89 |
    +-------+
    3 rows in set (0.00 sec)
    
    mysql> select distinct Sno from SC where Grade > 90;
    +----------+
    | Sno      |
    +----------+
    | 20161020 |
    +----------+
    1 row in set (0.00 sec)
    
    mysql> select Sname,Ssex
        -> from student
        -> where Sdept = 'IS' or Sdept = 'MA' or Sdept = 'CS';
    +-------+------+
    | Sname | Ssex |
    +-------+------+
    | 里勇  ||
    | 刘成  ||
    | 王敏  ||
    | 张里  ||
    +-------+------+
    4 rows in set (0.00 sec)
    
    mysql> select count(*) from student;
    +----------+
    | count(*) |
    +----------+
    |        4 |
    +----------+
    1 row in set (0.00 sec)
    
    mysql> select avg(Grade) from SC;
    +------------+
    | avg(Grade) |
    +------------+
    |    92.2500 |
    +------------+
    1 row in set (0.00 sec)
    
    mysql> select Cno,count(Sno)
        -> from SC
        -> group by Cno;
    +------+------------+
    | Cno  | count(Sno) |
    +------+------------+
    | 1    |          1 |
    | 2    |          1 |
    | 3    |          1 |
    | 4    |          1 |
    +------+------------+
    4 rows in set (0.00 sec)
    
    mysql> select Cno,avg(Grade)
        -> from SC
        -> group by Cno;
    +------+------------+
    | Cno  | avg(Grade) |
    +------+------------+
    | 1    |    90.0000 |
    | 2    |    90.0000 |
    | 3    |   100.0000 |
    | 4    |    89.0000 |
    +------+------------+
    4 rows in set (0.00 sec)
    mysql> select student.*,sc.*
        -> from student,sc
        -> where student.Sno = sc.Sno;
    +----------+-------+------+------+-------+----------+------+-------+
    | Sno      | Sname | Ssex | Sage | Sdept | Sno      | Cno  | Grade |
    +----------+-------+------+------+-------+----------+------+-------+
    | 20161018 | 里勇  ||   20 | CS    | 20161018 | 1    |    90 |
    | 20161019 | 刘成  ||   19 | IS    | 20161019 | 2    |    90 |
    | 20161020 | 王敏  ||   19 | MA    | 20161020 | 3    |   100 |
    | 20161021 | 张里  ||   18 | MA    | 20161021 | 4    |    89 |
    +----------+-------+------+------+-------+----------+------+-------+
    4 rows in set (0.00 sec)
    
    mysql> select student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
        -> from student,sc
        -> where student.Sno = sc.Sno;
    +----------+-------+------+------+-------+------+-------+
    | Sno      | Sname | Ssex | Sage | Sdept | Cno  | Grade |
    +----------+-------+------+------+-------+------+-------+
    | 20161018 | 里勇  ||   20 | CS    | 1    |    90 |
    | 20161019 | 刘成  ||   19 | IS    | 2    |    90 |
    | 20161020 | 王敏  ||   19 | MA    | 3    |   100 |
    | 20161021 | 张里  ||   18 | MA    | 4    |    89 |
    +----------+-------+------+------+-------+------+-------+
    4 rows in set (0.00 sec)
    
    mysql> select student.Sno,Sname,Cname,Grade
        -> from student,sc,course
        -> where student.Sno = sc.Sno and sc.Cno = course.Cno;
    +----------+-------+----------+-------+
    | Sno      | Sname | Cname    | Grade |
    +----------+-------+----------+-------+
    | 20161018 | 里勇  | 高数     |    90 |
    | 20161019 | 刘成  | 大物     |    90 |
    | 20161020 | 王敏  | 数电     |   100 |
    | 20161021 | 张里  | 大学英语 |    89 |
    +----------+-------+----------+-------+
    4 rows in set (0.00 sec)
    
    mysql>
    

    这篇博文主要是利用数据库对学生信息进行管理,它可以利用各种操作对学生信息进行增删减查,非常的方便!!!

    当然最重要的是你自己动手去做,不然一切免谈,也不要指望着别人。。。嘻嘻嘻。。。送我个赞呗。。。

    各位老铁们,给我个三连击呗,可以让更多的人看到这篇文章,同时也激励一下我
    各位老铁们,给我个三连击呗,可以让更多的人看到这篇文章,同时也激励一下我
    各位老铁们,给我个三连击呗,可以让更多的人看到这篇文章,同时也激励一下我

    在这里插入图片描述

    展开全文
  • 学生考勤管理系统(javaee包含数据库和文档)
  • 这次的项目是用数据库实现学生信息管理系统,有三步组成,写项目>>链接数据库>>实现相关的操作 开发工具:eclipse、MySQL、navicat、mysql-connector-java-8.0.27 1.数据库建表

    简单介绍:

    这次的项目是用数据库实现学生的信息管理系统,有三步组成,写项目>>链接数据库>>实现相关的操作

    开发工具:eclipse、MySQL、navicat、mysql-connector-java-8.0.27

    1.数据库建表

     

    -- 创建数据库
    CREATE DATABASE niit
    DEFAULT CHARACTER SET utf8mb4;
    
    SHOW DATABASES;
    
    -- 使用数据库niit
    USE niit;
    
    -- 创建表Student
    CREATE TABLE Student
    (
    	ID INT PRIMARY KEY, 
    	NAME VARCHAR(4),
    	GENDER CHAR(1),
    	DOB DATE,
    	BATCH INT
    );
    
    -- 插入记录
    INSERT INTO Student VALUES
    (1,'张','男','1988-1-2',1),
    (2,'李四','女','1988-12-3',1),
    (3,'王五','男','1978-11-1',1),
    (4,'若若','女','1989-2-5',2),
    (5,'夏春','女','1998-4-3',2),
    (6,'梅花','女','1999-12-6',2);
    
    -- 查看表中所有记录 语法:select * from 表名
    SELECT * FROM Student;
    

    2,相关代码(主页面+增删查改)

     

    (1)主页面

    package studentManage;
    
    import java.awt.Color;
    import java.awt.EventQueue;
    import java.awt.Font;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    
    public class MainFrame extends JFrame {
    
    	private JPanel contentPane;
    
    	/**
    	 * Launch the application.
    	 */
    	// 有了main函数才可以单独运行
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					MainFrame frame = new MainFrame();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the frame.
    	 */
    	public MainFrame() {
    		// 设置大小不可改变
    		setResizable(false);
    		// 设置标题
    		setTitle("学生管理系统");
    		// 由于这是主页面,所有当主页面关闭的时候,程序就直接退出
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		// setBounds(int x,int y,int width,int height);
    		// x 和 y 是窗口打开时的位置
    		// width 和 height 是窗口打宽度和高度
    		setBounds(100, 100, 450, 350);
    		// setLocationRelativeTo(c)
    		// 设置窗口相对于 c 的位置,当 c 为空或者 null 时,默认为是相对于屏幕中央
    		setLocationRelativeTo(null);
    		// 实例化一个 pane
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		contentPane.setLayout(null);
    		
    		JLabel lblNewLabel = new JLabel("学生管理系统");
    		lblNewLabel.setForeground(Color.RED);
    		lblNewLabel.setFont(new Font("宋体", Font.BOLD, 25));
    		lblNewLabel.setBounds(140, 10, 163, 44);
    		contentPane.add(lblNewLabel);
    		
    		JButton addButton = new JButton("添加学生");
    		// addActionListener 注册监听器
    		addButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				// 设置新窗口可见
    				new AddFrame().setVisible(true);
    			}
    		});
    	
    		addButton.setFont(new Font("宋体", Font.PLAIN, 18));
    		addButton.setBounds(167, 64, 114, 37);
    		contentPane.add(addButton);
    		
    		JButton changeButton = new JButton("修改信息");
    		changeButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				// 同上
    				new ChangeFrame().setVisible(true);
    			}
    		});
    		changeButton.setFont(new Font("宋体", Font.PLAIN, 18));
    		changeButton.setBounds(167, 121, 114, 37);
    		contentPane.add(changeButton);
    		
    		JButton deleteButton = new JButton("删除学生");
    		deleteButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				// 同上
    				new DeleteFrame().setVisible(true);
    			}
    		});
    		deleteButton.setFont(new Font("宋体", Font.PLAIN, 18));
    		deleteButton.setBounds(167, 180, 114, 37);
    		contentPane.add(deleteButton);
    		
    		JButton queryButton = new JButton("查询信息");
    		queryButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				// 同上
    				new QueryFrame().setVisible(true);
    			}
    		});
    		queryButton.setFont(new Font("宋体", Font.PLAIN, 18));
    		queryButton.setBounds(167, 240, 114, 37);
    		contentPane.add(queryButton);
    	}
    }
    
    

     

    (2)添加界面

    package studentManage;
    
    import java.awt.EventQueue;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.SQLException;
    
    import javax.swing.BoxLayout;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.border.EmptyBorder;
    
    public class AddFrame extends JFrame {
    
    	private JPanel contentPane;
    	private JTextField idField;
    	private JTextField nameField;
    	private JTextField genderField;
    	private JTextField dobField;
    	private JTextField batchField;
    
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					AddFrame frame = new AddFrame();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the frame.
    	 */
    	public AddFrame() {
    		// 和前面类似
    		setResizable(false);
    		setTitle("添加学生");
    		// 这个地方,添加学生只是这个程序的一部分,所以当关闭这部分的时候,程序不直接退出,只是关闭该部分程序
    		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    		setBounds(100, 100, 450, 470);
    		setLocationRelativeTo(null);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
    		
    		JPanel panel = new JPanel();
    		contentPane.add(panel);
    		panel.setLayout(null);
    		
    		JLabel TitleLabel = new JLabel("请输入新学生的信息:");
    		TitleLabel.setFont(new Font("宋体", Font.BOLD, 20));
    		TitleLabel.setBounds(71, 34, 220, 45);
    		panel.add(TitleLabel);
    		
    		JLabel idLabel = new JLabel("学号:");
    		idLabel.setFont(new Font("宋体", Font.PLAIN, 16));
    		idLabel.setBounds(71, 105, 50, 30);
    		panel.add(idLabel);
    		
    		idField = new JTextField();
    		idField.setBounds(143, 99, 240, 45);
    		panel.add(idField);
    		idField.setColumns(10);
    		
    		JLabel nameLabel = new JLabel("姓名:");
    		nameLabel.setFont(new Font("宋体", Font.PLAIN, 16));
    		nameLabel.setBounds(71, 160, 50, 30);
    		panel.add(nameLabel);
    		
    		nameField = new JTextField();
    		nameField.setColumns(10);
    		nameField.setBounds(143, 154, 240, 45);
    		panel.add(nameField);
    		
    		JLabel genderLabel = new JLabel("性别:");
    		genderLabel.setFont(new Font("宋体", Font.PLAIN, 16));
    		genderLabel.setBounds(71, 215, 50, 30);
    		panel.add(genderLabel);
    		
    		genderField = new JTextField();
    		genderField.setColumns(10);
    		genderField.setBounds(143, 209, 240, 45);
    		panel.add(genderField);
    		
    		JLabel dobLabel = new JLabel("出生日期:");
    		dobLabel.setFont(new Font("宋体", Font.PLAIN, 16));
    		dobLabel.setBounds(41, 270, 80, 30);
    		panel.add(dobLabel);
    		
    		dobField = new JTextField();
    		dobField.setColumns(10);
    		dobField.setBounds(143, 264, 240, 45);
    		panel.add(dobField);
    		
    		JLabel batchLabel = new JLabel("班级:");
    		batchLabel.setFont(new Font("宋体", Font.PLAIN, 16));
    		batchLabel.setBounds(71, 325, 50, 30);
    		panel.add(batchLabel);
    		
    		batchField = new JTextField();
    		batchField.setColumns(10);
    		batchField.setBounds(143, 319, 240, 45);
    		panel.add(batchField);
    		
    		JButton addButton = new JButton("添加");
    		// 添加鼠标监听事件
    		addButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				// 先取出数据
    				// getText() 返回字符串类型的
    				// Integer.parseInt 数据类型转换
    				int id = Integer.parseInt(idField.getText());
    
    				String nameString = nameField.getText();
    
    				String genderString = genderField.getText();
    
    				String dobfieldString = dobField.getText();
    
    				int batch = Integer.parseInt(batchField.getText());
    				// 输出一下学生的信息,方便修改
    				System.out.println(id + "\t" + nameString + "\t" + genderString + "\t" + dobfieldString + "\t" + batch);
    				// SQLHelp 是自己写的一个工具类
    				SQLHelp sqlHelp = new SQLHelp();
    				try {
    					// 调用添加学生信息的方法
    					sqlHelp.addStudent(id, nameString, genderString, dobfieldString, batch);
    					// 弹出对话框,提示用户添加成功
    					JOptionPane.showMessageDialog(AddFrame.this, "添加成功!");
    				} catch (SQLException e1) {
    					// 这里捕获一下异常,因为学生的学号是唯一的,所以当学号已经存在的时候,提示用户,该学生信息已存在
    					// 异常代码为 23000
    					if(e1.getSQLState().equals("23000")) {
    						JOptionPane.showMessageDialog(AddFrame.this, "添加失败!该学生已存在");
    					}
    					e1.printStackTrace();
    				}
    
    			}
    		});
    		addButton.setFont(new Font("宋体", Font.PLAIN, 18));
    		addButton.setBounds(182, 389, 97, 33);
    		panel.add(addButton);
    	}
    }
    
    

     

    (3)删除界面

    package studentManage;
    
    import java.awt.EventQueue;
    import java.awt.Font;
    
    import javax.swing.BoxLayout;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.border.EmptyBorder;
    import java.awt.event.ActionListener;
    import java.sql.SQLException;
    import java.awt.event.ActionEvent;
    
    public class DeleteFrame extends JFrame {
    
    	private JPanel contentPane;
    	private JTextField idField;
    	private JTextField nameField;
    	private JTextField genderField;
    	private JTextField dobField;
    	private JTextField batchField;
    	private JTextField searchField;
    	
    
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					DeleteFrame frame = new DeleteFrame();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the frame.
    	 */
    	public DeleteFrame() {
    		setResizable(false);
    		setTitle("删除学生");
    		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    		setBounds(100, 100, 450, 470);
    		setLocationRelativeTo(null);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
    		
    		JPanel panel = new JPanel();
    		contentPane.add(panel);
    		panel.setLayout(null);
    		
    		JLabel lblNewLabel = new JLabel("请输入要删除的学生的学号:");
    		lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 16));
    		lblNewLabel.setBounds(71, 0, 208, 29);
    		panel.add(lblNewLabel);
    		
    		JLabel lblNewLabel_1 = new JLabel("学号:");
    		lblNewLabel_1.setFont(new Font("宋体", Font.PLAIN, 16));
    		lblNewLabel_1.setBounds(71, 105, 50, 30);
    		panel.add(lblNewLabel_1);
    		
    		idField = new JTextField();
    		idField.setEditable(false);
    		idField.setBounds(143, 99, 240, 45);
    		panel.add(idField);
    		idField.setColumns(10);
    		
    		JLabel lblNewLabel_1_1 = new JLabel("姓名:");
    		lblNewLabel_1_1.setFont(new Font("宋体", Font.PLAIN, 16));
    		lblNewLabel_1_1.setBounds(71, 160, 50, 30);
    		panel.add(lblNewLabel_1_1);
    		
    		nameField = new JTextField();
    		nameField.setColumns(10);
    		nameField.setBounds(143, 154, 240, 45);
    		panel.add(nameField);
    		
    		JLabel lblNewLabel_1_1_1 = new JLabel("性别:");
    		lblNewLabel_1_1_1.setFont(new Font("宋体", Font.PLAIN, 16));
    		lblNewLabel_1_1_1.setBounds(71, 215, 50, 30);
    		panel.add(lblNewLabel_1_1_1);
    		
    		genderField = new JTextField();
    		genderField.setColumns(10);
    		genderField.setBounds(143, 209, 240, 45);
    		panel.add(genderField);
    		
    		JLabel lblNewLabel_1_1_1_1 = new JLabel("出生日期:");
    		lblNewLabel_1_1_1_1.setFont(new Font("宋体", Font.PLAIN, 16));
    		lblNewLabel_1_1_1_1.setBounds(41, 270, 80, 30);
    		panel.add(lblNewLabel_1_1_1_1);
    		
    		dobField = new JTextField();
    		dobField.setColumns(10);
    		dobField.setBounds(143, 264, 240, 45);
    		panel.add(dobField);
    		
    		JLabel lblNewLabel_1_1_1_2 = new JLabel("班级:");
    		lblNewLabel_1_1_1_2.setFont(new Font("宋体", Font.PLAIN, 16));
    		lblNewLabel_1_1_1_2.setBounds(71, 325, 50, 30);
    		panel.add(lblNewLabel_1_1_1_2);
    		
    		batchField = new JTextField();
    		batchField.setColumns(10);
    		batchField.setBounds(143, 319, 240, 45);
    		panel.add(batchField);
    		
    		JButton deleteButton = new JButton("删除");
    		deleteButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				
    				int id = Integer.parseInt(searchField.getText());
    				
    				try {
    					SQLHelp sqlHelp = new SQLHelp();
    					
    					sqlHelp.deletestudent(id);
    					
    					JOptionPane.showMessageDialog(DeleteFrame.this, "删除成功!");
    				} catch (SQLException e1) {
    					JOptionPane.showMessageDialog(DeleteFrame.this, "删除失败");
    					e1.printStackTrace();
    				}
    				
    			}
    		});
    		deleteButton.setFont(new Font("宋体", Font.PLAIN, 18));
    		deleteButton.setBounds(182, 389, 97, 33);
    		panel.add(deleteButton);
    		
    		searchField = new JTextField();
    		searchField.setBounds(71, 39, 208, 45);
    		panel.add(searchField);
    		searchField.setColumns(10);
    		
    		JButton searchButton = new JButton("查找");
    		searchButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				
    				int id = Integer.parseInt(searchField.getText());
    				
    				try {
    					SQLHelp sqlHelp = new SQLHelp();
    					
    					Student student = sqlHelp.queryStudent(id);
    					
    					if(student != null) {
    						
    						idField.setText(String.valueOf(id));
    						nameField.setText(student.getName());
    						genderField.setText(student.getGender());
    						dobField.setText(student.getDob());
    						batchField.setText(String.valueOf(student.getBatch()));
    						
    					} else {
    						JOptionPane.showMessageDialog(DeleteFrame.this, "无此学生");
    					}
    				} catch (SQLException e) {
    					e.printStackTrace();
    				}
    				
    				
    			}
    		});
    		searchButton.setFont(new Font("宋体", Font.PLAIN, 18));
    		searchButton.setBounds(289, 42, 97, 39);
    		panel.add(searchButton);
    	}
    }
    
    

     

     (4)修改界面

    package studentManage;
    
    import java.awt.EventQueue;
    import java.awt.Font;
    
    import javax.swing.BoxLayout;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.border.EmptyBorder;
    import java.awt.event.ActionListener;
    import java.sql.SQLException;
    import java.awt.event.ActionEvent;
    
    public class ChangeFrame extends JFrame {
    
    	private JPanel contentPane;
    	private JTextField idField;
    	private JTextField nameField;
    	private JTextField genderField;
    	private JTextField dobField;
    	private JTextField batchField;
    	private JTextField searchField;
    	
    
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					ChangeFrame frame = new ChangeFrame();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the frame.
    	 */
    	public ChangeFrame() {
    		setResizable(false);
    		setTitle("修改信息");
    		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    		setBounds(100, 100, 450, 470);
    		setLocationRelativeTo(null);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
    		
    		JPanel panel = new JPanel();
    		contentPane.add(panel);
    		panel.setLayout(null);
    		
    		JLabel lblNewLabel = new JLabel("请输入要修改的学生的学号:");
    		lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 16));
    		lblNewLabel.setBounds(71, 0, 208, 29);
    		panel.add(lblNewLabel);
    		
    		JLabel lblNewLabel_1 = new JLabel("学号:");
    		lblNewLabel_1.setFont(new Font("宋体", Font.PLAIN, 16));
    		lblNewLabel_1.setBounds(71, 105, 50, 30);
    		panel.add(lblNewLabel_1);
    		
    		idField = new JTextField();
    		idField.setEditable(false);
    		idField.setBounds(143, 99, 240, 45);
    		panel.add(idField);
    		idField.setColumns(10);
    		
    		JLabel lblNewLabel_1_1 = new JLabel("姓名:");
    		lblNewLabel_1_1.setFont(new Font("宋体", Font.PLAIN, 16));
    		lblNewLabel_1_1.setBounds(71, 160, 50, 30);
    		panel.add(lblNewLabel_1_1);
    		
    		nameField = new JTextField();
    		nameField.setColumns(10);
    		nameField.setBounds(143, 154, 240, 45);
    		panel.add(nameField);
    		
    		JLabel lblNewLabel_1_1_1 = new JLabel("性别:");
    		lblNewLabel_1_1_1.setFont(new Font("宋体", Font.PLAIN, 16));
    		lblNewLabel_1_1_1.setBounds(71, 215, 50, 30);
    		panel.add(lblNewLabel_1_1_1);
    		
    		genderField = new JTextField();
    		genderField.setColumns(10);
    		genderField.setBounds(143, 209, 240, 45);
    		panel.add(genderField);
    		
    		JLabel lblNewLabel_1_1_1_1 = new JLabel("出生日期:");
    		lblNewLabel_1_1_1_1.setFont(new Font("宋体", Font.PLAIN, 16));
    		lblNewLabel_1_1_1_1.setBounds(41, 270, 80, 30);
    		panel.add(lblNewLabel_1_1_1_1);
    		
    		dobField = new JTextField();
    		dobField.setColumns(10);
    		dobField.setBounds(143, 264, 240, 45);
    		panel.add(dobField);
    		
    		JLabel lblNewLabel_1_1_1_2 = new JLabel("班级:");
    		lblNewLabel_1_1_1_2.setFont(new Font("宋体", Font.PLAIN, 16));
    		lblNewLabel_1_1_1_2.setBounds(71, 325, 50, 30);
    		panel.add(lblNewLabel_1_1_1_2);
    		
    		batchField = new JTextField();
    		batchField.setColumns(10);
    		batchField.setBounds(143, 319, 240, 45);
    		panel.add(batchField);
    		
    		JButton changeButton = new JButton("修改");
    		changeButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				
    				int id = Integer.parseInt(searchField.getText());
    				
    				String nameString = nameField.getText();
    				
    				String gendeString = genderField.getText();
    				
    				String dobString = dobField.getText();
    				
    				int batch = Integer.parseInt(batchField.getText());
    				
    				SQLHelp sqlHelp = new SQLHelp();
    				
    				try {
    					sqlHelp.changeStudent(id, nameString, gendeString, dobString, batch);
    					
    					JOptionPane.showMessageDialog(ChangeFrame.this, "修改成功!");
    				} catch (SQLException e) {
    					JOptionPane.showMessageDialog(ChangeFrame.this, "修改失败!");
    					e.printStackTrace();
    				}
    					
    			}
    		});
    		changeButton.setFont(new Font("宋体", Font.PLAIN, 18));
    		changeButton.setBounds(182, 389, 97, 33);
    		panel.add(changeButton);
    		
    		searchField = new JTextField();
    		searchField.setBounds(71, 39, 208, 45);
    		panel.add(searchField);
    		searchField.setColumns(10);
    		
    		JButton searchButton = new JButton("查找");
    		searchButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e){
    				
    				int id = Integer.parseInt(searchField.getText());
    				
    				try {
    					
    					SQLHelp sqlHelp = new SQLHelp();
    					
    					Student student = sqlHelp.queryStudent(id);
    					
    					if(student != null) {
    						
    						// id 是直接读入的,所以就不需要从数据库中读出了
    						idField.setText(String.valueOf(id));
    						nameField.setText(student.getName());
    						genderField.setText(student.getGender());
    						dobField.setText(student.getDob());
    						batchField.setText(String.valueOf(student.getBatch()));
    						
    					} else {
    						JOptionPane.showMessageDialog(ChangeFrame.this, "无此用户");
    					}
    					
    				} catch (SQLException e1) {
    					e1.printStackTrace();
    				}
    				
    			}
    		});
    		searchButton.setFont(new Font("宋体", Font.PLAIN, 18));
    		searchButton.setBounds(289, 42, 97, 39);
    		panel.add(searchButton);
    	}
    }
    
    
    

     (5)查找界面

    package studentManage;
    
    import java.awt.EventQueue;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.SQLException;
    
    import javax.swing.BoxLayout;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.border.EmptyBorder;
    
    public class QueryFrame extends JFrame {
    
    	private JPanel contentPane;
    	private JTextField idField;
    	private JTextField nameField;
    	private JTextField genderField;
    	private JTextField dobField;
    	private JTextField batchField;
    	private JTextField searchField;
    	
    
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					QueryFrame frame = new QueryFrame();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the frame.
    	 */
    	public QueryFrame() {
    		setResizable(false);
    		setTitle("查询信息");
    		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    		setBounds(100, 100, 450, 470);
    		setLocationRelativeTo(null);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
    		
    		JPanel panel = new JPanel();
    		contentPane.add(panel);
    		panel.setLayout(null);
    		
    		JLabel lblNewLabel = new JLabel("请输入要查找的学生的学号:");
    		lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 16));
    		lblNewLabel.setBounds(71, 0, 208, 29);
    		panel.add(lblNewLabel);
    		
    		JLabel lblNewLabel_1 = new JLabel("学号:");
    		lblNewLabel_1.setFont(new Font("宋体", Font.PLAIN, 16));
    		lblNewLabel_1.setBounds(71, 105, 50, 30);
    		panel.add(lblNewLabel_1);
    		
    		idField = new JTextField();
    		idField.setEditable(false);
    		idField.setBounds(143, 99, 240, 45);
    		panel.add(idField);
    		idField.setColumns(10);
    		
    		JLabel lblNewLabel_1_1 = new JLabel("姓名:");
    		lblNewLabel_1_1.setFont(new Font("宋体", Font.PLAIN, 16));
    		lblNewLabel_1_1.setBounds(71, 160, 50, 30);
    		panel.add(lblNewLabel_1_1);
    		
    		nameField = new JTextField();
    		nameField.setColumns(10);
    		nameField.setBounds(143, 154, 240, 45);
    		panel.add(nameField);
    		
    		JLabel lblNewLabel_1_1_1 = new JLabel("性别:");
    		lblNewLabel_1_1_1.setFont(new Font("宋体", Font.PLAIN, 16));
    		lblNewLabel_1_1_1.setBounds(71, 215, 50, 30);
    		panel.add(lblNewLabel_1_1_1);
    		
    		genderField = new JTextField();
    		genderField.setColumns(10);
    		genderField.setBounds(143, 209, 240, 45);
    		panel.add(genderField);
    		
    		JLabel lblNewLabel_1_1_1_1 = new JLabel("出生日期:");
    		lblNewLabel_1_1_1_1.setFont(new Font("宋体", Font.PLAIN, 16));
    		lblNewLabel_1_1_1_1.setBounds(41, 270, 80, 30);
    		panel.add(lblNewLabel_1_1_1_1);
    		
    		dobField = new JTextField();
    		dobField.setColumns(10);
    		dobField.setBounds(143, 264, 240, 45);
    		panel.add(dobField);
    		
    		JLabel lblNewLabel_1_1_1_2 = new JLabel("班级:");
    		lblNewLabel_1_1_1_2.setFont(new Font("宋体", Font.PLAIN, 16));
    		lblNewLabel_1_1_1_2.setBounds(71, 325, 50, 30);
    		panel.add(lblNewLabel_1_1_1_2);
    		
    		batchField = new JTextField();
    		batchField.setColumns(10);
    		batchField.setBounds(143, 319, 240, 45);
    		panel.add(batchField);
    		
    		searchField = new JTextField();
    		searchField.setBounds(71, 39, 208, 45);
    		panel.add(searchField);
    		searchField.setColumns(10);
    		
    		JButton searchButton = new JButton("查找");
    		searchButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				
    				// 1.读出要查询的学生输入的id
    				// 因为学生的学号是唯一的,所以我们根据学号查询后,只会有一条数据
    				// 转化一下数据类型
    				int id = Integer.parseInt(searchField.getText());
    				
    				// 2.执行JDBC语句
    				try {
    					SQLHelp sqlHelp = new SQLHelp();
    					
    					Student student = sqlHelp.queryStudent(id);
    					
    					// 3.将查询结果填到文本框中
    					// 前提是学生存在
    					if(student != null) {
    						idField.setText(String.valueOf(id));
    						nameField.setText(student.getName());
    						genderField.setText(student.getGender());
    						dobField.setText(student.getDob());
    						batchField.setText(String.valueOf(student.getBatch()));
    					} else {
    						// 此时学生不存在,提示用户,不存在该学生
    						JOptionPane.showMessageDialog(QueryFrame.this, "无此学生");
    					}
    					
    				} catch (SQLException e) {
    					e.printStackTrace();
    				}
    				
    			}
    		});
    		searchButton.setFont(new Font("宋体", Font.PLAIN, 18));
    		searchButton.setBounds(289, 42, 97, 39);
    		panel.add(searchButton);
    	}
    }
    
    

    (6)数据库链接

    package studentManage;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    public  class SQLHelp {
    
    	public static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";  
    	public static final String DB_URL = "jdbc:mysql://localhost:3306/niit?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
    
    	public static final String username = "root";
    	public static final String password = "123456";
    	
    	private Connection connection = null;
    	private PreparedStatement pStatement = null;
    	private ResultSet rSet = null;
    	
    	// 加载驱动
    	// 静态初始化块(只执行一次)
    	static {
    		try {
    			Class.forName(JDBC_DRIVER);
    		} catch (ClassNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    	
    	// 链接数据库
    	public void  connectDB() {
    		try {
    			connection = DriverManager.getConnection(DB_URL,username,password);
    			System.out.println("数据库链接成功");
    		} catch (SQLException e) {
    			System.out.println("数据库链接失败");
    			e.printStackTrace();
    		}
    	}
    	
    	// 关闭资源
    	public void close() {
    		if(rSet != null) {
    			try {
    				rSet.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    		
    		if(pStatement != null) {
    			try {
    				pStatement.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    		
    		if(connection != null) {
    			try {
    				connection.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    	}
    	
    	public  void addStudent(int id, String nameString, String genderString, String dobString, int batch) throws SQLException {
    		
    		// try finally 无论是否抛出异常都将执行 finally 中的语句
    		try {
    			// 先链接到数据库
    			connectDB();
    			
    			// sql 语句
    			// 静态 sql 语句需要进行字符串拼接
    			// 动态 sql 语句
    			String addsql = "insert into student values(?, ?, ?, ?, ?)";
    			
    			pStatement = connection.prepareStatement(addsql);
    			
    			pStatement.setInt(1, id);
    			pStatement.setString(2, nameString);
    			pStatement.setString(3, genderString);
    			pStatement.setString(4, dobString);
    			pStatement.setInt(5, batch);
    						
    			pStatement.executeUpdate();
    			
    		} finally {
    			
    			close();
    			
    		}
    		
    	}
    	
    	public void changeStudent(int id, String nameString, String genderString, String dobString, int batch) throws SQLException {
    					
    		try {
    			connectDB();
    			
    			String changesql = "update student set name = ?, gender = ?, dob = ?, batch = ? where id = ?";
    					
    			pStatement = connection.prepareStatement(changesql);
    
    			pStatement.setString(1, nameString);
    			pStatement.setString(2, genderString);
    			pStatement.setString(3, dobString);
    			pStatement.setInt(4, batch);
    			pStatement.setInt(5, id);
    					
    			pStatement.executeUpdate();
    			
    		} finally {
    			close();
    		}	
    
    	}
    
    	public void deletestudent(int id) throws SQLException {
    				
    		try {
    			
    			connectDB();
    			
    			String deleteString = "select * from student where id = ?";
    
    			pStatement = connection.prepareStatement(deleteString);
    			
    			pStatement.setInt(1, id);
    			
    			pStatement.execute();
    
    		} finally {
    			close();
    		}
    		
    	}
    	
    	public Student queryStudent(int id) throws SQLException {
    		try {
    			connectDB();
    			
    			String querysql = "select * from student where id = ?";
    			pStatement = connection.prepareStatement(querysql);
    			pStatement.setInt(1, id);
    			// 三种方法执行
    			// execute()	都可以使用,返回true或false
    			// executeQuery() 专门用于查询,返回结果集
    			// executeUpdate() 专门用于删除、更新
    			rSet = pStatement.executeQuery();
    			
    			if(rSet.next()) {
    				
    				String nameString = rSet.getString(2);
    				String genderString = rSet.getString(3);
    				String dobString = rSet.getString(4);
    				int batchString = rSet.getInt(5);
    				
    				// 查询到学生信息返回结果集
    				return new Student(nameString, genderString, dobString, batchString);
    			} else {
    				// 没有查询到学生信息,返回null
    				return null;
    			}
    
    		} finally {
    			close();
    		}
    
    	}
    
    }
    
    

     

    package studentManage;
    
    public class Student {
    
    	private String name;
    	private String gender;
    	private String dob;
    	private int batch;
    	
    	public Student(String name, String gender, String dob, int batch) {
    		this.name = name;
    		this.gender = gender;
    		this.dob = dob;
    		this.batch = batch;
    	}
    	
    	public String getName() {
    		return name;
    	}
    	
    	public String getGender() {
    		return gender;
    	}
    	
    	public String getDob() {
    		return dob;
    	}
    	
    	public int getBatch() {
    		return batch;
    	}
    	
    }
    
    
    package studentManage;
    
    
    import java.sql.*;
    
    public class JDBC{
    
        public static void main(String[] args) throws Exception {
            try {
                // 注册 JDBC 驱动
                Class.forName("com.mysql.cj.jdbc.Driver");
    
                // 打开链接
                Connection conn = DriverManager.getConnection("jdbc:conn-local://localhost:3306/text?useSSL=false&serverTimezone=UTC", "SQ", "109036");
    
                // 执行查询
                Statement stmt = conn.createStatement();
                String sql = "SELECT id, name, url FROM text";
                ResultSet rs = stmt.executeQuery(sql);
    
                // 展开结果集数据库
                while (rs.next()) {
                    // 通过字段检索
                    int id = rs.getInt("id");
                    String name = rs.getString("name");
                    String url = rs.getString("url");
    
                    // 输出数据
                    System.out.print("ID: " + id);
                    System.out.print("  NAME " + name);
                    System.out.print("  URL: " + url);
                    System.out.print("\n");
                }
                // 释放资源
                rs.close();
                stmt.close();
                conn.close();
    
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
    
        }
    }
    
    
    

    添加Java驱动包,在官方网站下载mysql-connector-java-8.0.27,根据自己版本下载

    3. 数据库链接成功,完成项目的简单操作

    展开全文
  • 本系统是一个学生管理系统,主要应用于大学的学生管理。由于对系统的分析可能不够全面,只能是模拟一下学生管理系统。每个学生都有一个学号,且没有相同的,所以可以以学号为帐号,这样,同学们就可以自行登陆学生...
  • 基于Javaweb的一个学生信息管理系统。数据库为SQL server 主要用到的技术: jsp JDBC servlet
  • 创建学生数据库

    千次阅读 2021-10-06 17:38:19
    一、上机内容 按顺序将操作过程中使用的命令及对应...3.在studentsdb数据库创建数据表student_info、curriculum、grade,三个表的数据结构如表1-表3所示。分别保存命令,分别查看结果。 表一 CREATE TABLE student_i
  • 一个简单的Java学生信息管理数据库版完整)
  • 要求系统可以存储学生基本信息,和课程基本信息学生选课情况以及课程得分(考试后进行补录)。课程有必修,选修和公选不同类型。各学院学生只能选修该专业的选修课。公选课可以大范围选修。且补考,重新成绩要单独...
  • 数据库课设之学生信息管理系统

    万次阅读 多人点赞 2019-07-13 17:31:10
    数据库课设之学生信息管理系统 一、系统需求分析 学校每年都有新生入学、老生毕业,还有其他各种人事变动。如何有效地管理这些学生 的信息,帮助学校和老师掌握学生的情况,这就是学生信息管理系统需要完成的功能。 ...
  • Eclipse连接Mysql数据库学生信息管理系统
  • 分为三类用户角色学生用户:修改个人信息、课程...管理员用户:学生管理、教师管理、课程管理、选课管理、成绩管理、院系设置、奖惩信息管理、管理员操作 用的java+MySQL数据库,cs架构。附带设计报告,建表合理规范。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 105,968
精华内容 42,387
关键字:

学生信息管理数据库如何创建