基于java mysql_Java 基于MySQL数据库的简单学生管理系统

这是一个用Java语言实现的学生管理系统,包含添加、修改、查询、删除和浏览学生信息的基本功能。系统使用JDBC连接MySQL数据库,通过Swing创建图形用户界面。各功能按钮触发对应操作,如添加学生信息时,将数据插入数据库;查询时,根据输入的学号显示相应信息;修改和删除操作则更新数据库记录。
摘要由CSDN通过智能技术生成

因为实验室要交作业然后就做了一个学生管理系统  贴个代码纪念一下~

做的太急界面什么的也比较差

还有一些小细节没有完善不过还是能实现主要的功能的~

0c7cce7ce550b25a0613d9711bd4f0d8.png

Window是主界面

package First;

import java.sql.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Window {

public static void main(String[] args){

JFrame jframe = new JFrame("学生管理系统") ; //window

Dimension d = new Dimension(400,300);

Point p = new Point (250,350);

jframe.setSize(d);

jframe.setLocation(p);

jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jframe.setVisible(true);

JButton button1 = new JButton("添加");

JButton button2 = new JButton("修改");

JButton button3 = new JButton("查询");

JButton button4 = new JButton("删除");

JButton button5 = new JButton("浏览");

FlowLayout flow = new FlowLayout(FlowLayout.LEFT,10,10);

JPanel panel = new JPanel(flow);

panel.add(button1);

panel.add(button2);

panel.add(button3);

panel.add(button4);

panel.add(button5);

jframe.add(panel);

button1.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

Add add = new Add();

}

});

button2.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

Change change = new Change();

}

});

button3.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

Ask ask = new Ask();

}

});

button4.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

Delete delete = new Delete();

}

});

button5.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

Look look = new Look();

}

});

}

}

Add是添加

package First;

import java.sql.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import com.mysql.jdbc.Driver;

import First.Window;

public class Add extends JFrame {

private static final long serialVersionUID = -1928970409928880648L;

JLabel jlnumber = new JLabel("学号:");

JLabel jlname = new JLabel("姓名:");

JLabel jlsex = new JLabel("性别:");

JLabel jlbirthday = new JLabel("出生日期:");

JLabel jldepartment = new JLabel("学院:");

JTextField jtnumber = new JTextField("",20);

JTextField jtname = new JTextField("",20);

JTextField jtsex = new JTextField("",20);

JTextField jtbirthday = new JTextField("",20);

JTextField jtdepartment = new JTextField("",20);

JButton buttonadd = new JButton("添加");

JButton buttonreturn = new JButton("返回");

public Add() {

JPanel jpnumber = new JPanel();

JPanel jpname = new JPanel();

JPanel jpsex = new JPanel();

JPanel jpbirthday = new JPanel();

JPanel jpdepartment = new JPanel();

JPanel jpforbutton = new JPanel(new GridLayout(1,1));

jpnumber.add(jlnumber);

jpnumber.add(jtnumber);

jpname.add(jlname);

jpname.add(jtname);

jpsex.add(jlsex);

jpsex.add(jtsex);

jpbirthday.add(jlbirthday);

jpbirthday.add(jtbirthday);

jpdepartment.add(jldepartment);

jpdepartment.add(jtdepartment);

jpforbutton.add(buttonadd);

jpforbutton.add(buttonreturn);

buttonadd.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

//Add

Connection conn = null;

Statement stat = null;

PreparedStatement ps=null;

String sql = "INSERT INTO student(number,name,sex,birthday,department) "

+ "values(?,?,?,?,?)";

try{

Class.forName("Driver");

System.out.println("JBDC 加载成功!");

}catch(Exception a){

System.out.println("JBDC 狗带!");

a.printStackTrace();

}

try{

conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/javaStu","root","123");

ps=conn.prepareStatement(sql);

ps.setString(1,jtnumber.getText());

ps.setString(2,jtname.getText());

ps.setString(3,jtsex.getText());

ps.setString(4,jtbirthday.getText());

ps.setString(5,jtdepartment.getText());

ps.executeUpdate();

//System.out.println("MySQL 连接成功!");

//stat = conn.createStatement();

//stat.executeUpdate(sql);

//System.out.println("插入数据成功!");

}catch (SQLException b){

b.printStackTrace();

}finally{

try{

conn.close();

System.out.println("MySQL 关闭成功");

}catch (SQLException c){

System.out.println("MySQL 关闭失败 ");

c.printStackTrace();

}

}

}}

);

buttonreturn.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

Window window = new Window();

}

});

this.setTitle("添加学生信息");

this.setLayout(new GridLayout(9,1));

this.add(jpnumber);

this.add(jpname);

this.add(jpsex);

this.add(jpbirthday);

this.add(jpdepartment);

this.add(jpforbutton);

this.setLocation(400,300);

this.setSize(350,300);

this.setVisible(true);

}

}

Ask是查询

package First;

import java.sql.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import First.Window;

public class Ask extends JFrame {

private static final long serialVersionUID = -1928970409928880648L;

JLabel jlnumber = new JLabel("学号:");

JLabel jlname = new JLabel("姓名:");

JLabel jlsex = new JLabel("性别:");

JLabel jlbirthday = new JLabel("出生日期:");

JLabel jldepartment = new JLabel("学院:");

JTextField jtnumber = new JTextField("",20);

JLabel jname = new JLabel();

JLabel jsex = new JLabel();

JLabel jbirthday = new JLabel();

JLabel jdepartment = new JLabel();

JButton buttonask = new JButton("查询");

JButton buttonreturn = new JButton("返回");

public Ask() {

JPanel jpnumber = new JPanel();

JPanel jpname = new JPanel();

JPanel jpsex = new JPanel();

JPanel jpbirthday = new JPanel();

JPanel jpdepartment = new JPanel();

JPanel jpforbutton = new JPanel(new GridLayout(1,1));

jpnumber.add(jlnumber);

jpnumber.add(jtnumber);

jpname.add(jlname);

jpname.add(jname);

jpsex.add(jlsex);

jpsex.add(jsex);

jpbirthday.add(jlbirthday);

jpbirthday.add(jbirthday);

jpdepartment.add(jldepartment);

jpdepartment.add(jdepartment);

jpforbutton.add(buttonask);

jpforbutton.add(buttonreturn);

buttonask.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

Connection conn = null;

ResultSet res = null;

Statement stat = null;

String sql = "SELECT number,name,sex,birthday,department FROM student;";

try{

Class.forName("com.mysql.jdbc.Driver");

}catch(Exception d){

System.out.println("jdbc fall");

d.printStackTrace();

}

try{

conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/javaStu","root","123");

stat=conn.createStatement();

res=stat.executeQuery(sql);

while (res.next())

{

if (res.getString(1).equals(jtnumber.getText()))

{

jname.setText(res.getString(2));

jsex.setText(res.getString(3));

jbirthday.setText(res.getString(4));

jdepartment.setText(res.getString(5));

break;

}

}

}catch (SQLException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

finally{

try{

conn.close();

}catch(SQLException ar){

ar.printStackTrace();

}

}}}

);

buttonreturn.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

Window window = new Window();

}

});

this.setTitle("查询学生信息");

this.setLayout(new GridLayout(9,1));

this.add(jpnumber);

this.add(jpname);

this.add(jpsex);

this.add(jpbirthday);

this.add(jpdepartment);

this.add(jpforbutton);

this.setLocation(400,300);

this.setSize(350,300);

this.setVisible(true);

}

}

Change是修改

package First;

import java.sql.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import First.Window;

public class Change extends JFrame {

private static final long serialVersionUID = -1928970409928880648L;

JLabel jlnumber = new JLabel("学号:");

JLabel jlname = new JLabel("姓名:");

JLabel jlsex = new JLabel("性别:");

JLabel jlbirthday = new JLabel("出生日期:");

JLabel jldepartment = new JLabel("学院:");

JTextField jtnumber = new JTextField("",20);

JTextField jtname = new JTextField("",20);

JTextField jtsex = new JTextField("",20);

JTextField jtbirthday = new JTextField("",20);

JTextField jtdepartment = new JTextField("",20);

JButton buttonchange = new JButton("修改");

JButton buttonreturn = new JButton("返回");

public Change() {

JPanel jpnumber = new JPanel();

JPanel jpname = new JPanel();

JPanel jpsex = new JPanel();

JPanel jpbirthday = new JPanel();

JPanel jpdepartment = new JPanel();

JPanel jpforbutton = new JPanel(new GridLayout(1,1));

jpnumber.add(jlnumber);

jpnumber.add(jtnumber);

jpname.add(jlname);

jpname.add(jtname);

jpsex.add(jlsex);

jpsex.add(jtsex);

jpbirthday.add(jlbirthday);

jpbirthday.add(jtbirthday);

jpdepartment.add(jldepartment);

jpdepartment.add(jtdepartment);

jpforbutton.add(buttonchange);

jpforbutton.add(buttonreturn);

buttonchange.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

String number = jtnumber.getText();

String name = jtname.getText();

String sex = jtsex.getText();

String birthday = jtbirthday.getText();

String department = jtdepartment.getText();

Connection conn = null;

ResultSet res = null;

Statement stat = null;

String sql = "SELECT number,name,sex,birthday,department FROM student;";

try{

Class.forName("com.mysql.jdbc.Driver");

}catch(Exception d){

System.out.println("jdbc fall");

d.printStackTrace();

}

try{

conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/javaStu","root","123");

stat=conn.createStatement();

res=stat.executeQuery(sql);

while (res.next())

{

//change

if (res.getString(1).equals(jtnumber.getText()))

{

try{

Class.forName("com.mysql.jdbc.Driver");

}catch(Exception d){

System.out.println("jdbc fall");

d.printStackTrace();

}

String sql2="UPDATE student SET name='"+name+"' WHERE number='"+jtnumber.getText()+"'";

String sql3="UPDATE student SET sex='"+sex+"' WHERE number='"+jtnumber.getText()+"'";

String sql4="UPDATE student SET birthday='"+birthday+"' WHERE number='"+jtnumber.getText()+"'";

String sql5="UPDATE student SET department='"+department+"' WHERE number='"+jtnumber.getText()+"'";

try {

conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/javaStu","root","123");

stat=conn.createStatement();

stat.executeUpdate(sql2);

stat.executeUpdate(sql3);

stat.executeUpdate(sql4);

stat.executeUpdate(sql5);

} catch (SQLException g) {

// TODO Auto-generated catch block

g.printStackTrace();

}try{

stat.close();

conn.close();

}catch(SQLException ar){

ar.printStackTrace();

}

break;

}

//change end

}

}catch (SQLException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

finally{

try{

conn.close();

}catch(SQLException ar){

ar.printStackTrace();

}

}

}

});

buttonreturn.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

Window window = new Window();

}

});

this.setTitle("修改学生信息");

this.setLayout(new GridLayout(9,1));

this.add(jpnumber);

this.add(jpname);

this.add(jpsex);

this.add(jpbirthday);

this.add(jpdepartment);

this.add(jpforbutton);

this.setLocation(400,300);

this.setSize(350,300);

this.setVisible(true);

}

}

Delete是删除

package First;

import java.sql.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import First.Window;

public class Delete extends JFrame {

private static final long serialVersionUID = -1928970409928880648L;

JLabel jlnumber = new JLabel("学号:");

JTextField jtnumber = new JTextField("",20);

JButton buttondelete = new JButton("删除");

JButton buttonreturn = new JButton("返回");

public Delete() {

JPanel jpnumber = new JPanel();

JPanel jpforbutton = new JPanel(new GridLayout(1,1));

jpnumber.add(jlnumber);

jpnumber.add(jtnumber);

jpforbutton.add(buttondelete);

jpforbutton.add(buttonreturn);

buttondelete.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

String number = jtnumber.getText();

Connection conn = null;

ResultSet res = null;

Statement stat = null;

String sql = "DELETE FROM student WHERE number='"+number+"'";

try{

Class.forName("com.mysql.jdbc.Driver");

}catch(Exception a){

a.printStackTrace();

}

try{

conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/javaStu","root","123");

stat = conn.createStatement();

stat.executeUpdate(sql);

}catch(SQLException h){

h.printStackTrace();

}finally{

try{

conn.close();

System.out.println("close success!");

}catch(SQLException j){

System.out.println("close go die!");

j.printStackTrace();

}

}

}

});

buttonreturn.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

Window window = new Window();

}

});

this.setTitle("删除学生信息");

this.setLayout(new GridLayout(9,1));

this.add(jpnumber);

this.add(jpforbutton);

this.setLocation(400,300);

this.setSize(350,300);

this.setVisible(true);

}

}

Look是浏览

package First;

import java.sql.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.*;

import First.Window;

public class Look extends JFrame {

private static final long serialVersionUID = -1928970409928880648L;

Connection conn = null;

PreparedStatement ps = null;

ResultSet res = null;

//JButton buttonlook = new JButton("浏览");

//JButton buttonreturn = new JButton("返回");

JTable jtable;

JScrollPane jscrollpane = new JScrollPane();

Vector columnNames = null;

Vector rowData = null;

public Look() {

JPanel jpforbutton = new JPanel(new GridLayout(1,1));

columnNames = new Vector();

columnNames.add("学号");

columnNames.add("姓名");

columnNames.add("性别");

columnNames.add("出生日期");

columnNames.add("学院");

rowData = new Vector();

//jpforbutton.add(buttonlook);

//jpforbutton.add(buttonreturn);

try {

Class.forName("com.mysql.jdbc.Driver");

conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/javaStu","root","123");

ps = conn.prepareStatement("SELECT * FROM student");

res = ps.executeQuery();

while (res.next())

{

Vector hang = new Vector();

hang.add(res.getString(1));

hang.add(res.getString(2));

hang.add(res.getString(3));

hang.add(res.getString(4));

hang.add(res.getString(5));

rowData.add(hang);

}

System.out.println("load ok!");

}catch (Exception q){

q.printStackTrace();

System.out.println("go die");

}finally{

try{

res.close();

ps.close();

conn.close();

System.out.println("close ok");

}catch (SQLException o){

o.printStackTrace();

System.out.println("go die 2");

}

}

jtable = new JTable(rowData,columnNames);

jscrollpane = new JScrollPane(jtable);

this.add(jscrollpane);

this.setTitle("浏览学生信息");

this.setLayout(new GridLayout(2,5));

this.add(jpforbutton);

this.setLocation(300,300);

this.setSize(500,300);

this.setVisible(true);

this.setResizable(false);

}

}

一些运行的界面~

23ac11c021c6eaf9887732c96eea3c5b.png

2f5722dbeb0875dea58235d1343e31b9.png

eb862c88f01b3930eb415763394fe1a2.png

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
压缩包含使用说明,windows端在文件资源管理器中 点击create.bat支持一键建表,其他系统可以使用 createtables.sql里面的sql语句进行数据库 欢迎使用学生信息管理系统(管理员端) 本系统支持添加,删除,修改等实用功能 方便您更好的管理学生数据 【I】管理员端 一,选择数据库 通过右上角的数据库菜单栏可以选择当前操 作的数据库 二,添加教师,学生,教师,学生成绩(管理员) 1)通过管理员窗口的左侧按钮可以按需添加 学生,教师,管理员,学生成绩等信息 2)通过下方按钮“添加行”来新建空行,然 后手动输入数据,再点击“保存”按钮将表 单上传到数据库。 (注意:如果格式不正确,比如通过该方法上传 的数据可能会发生错误,所以方法2只适合管 理员使用) 3)支持批量添加行(注意:如果有一行错误,所 有操作将被回滚) 4)为学生添加老师,进入选择学生数据库,在 某一个学生行单击右键,选择“添加老师”,即 可为该id的学生添加老师 5)为学生添加课程,进入学生数据可以,在某一 学生行单击右键,选择“修改成绩”,可以进入 成绩修改窗口(管理员端),输入学生id, 为学生添加任意课程,也可为课程添加或修改删除 成绩 三,删除 在表格中使用鼠标选中一些数据行,然后点击 左侧“删除”按钮,即可删除表单中的数据 四,修改 双击表格,输入数据,按回车保存,然后点击 右下角“保存修改”按钮,将表单上传到数据 库中。(注意:因为学生成绩信息是以二进制 形式储存,所以请不要直接在表格中修改) 五,排序 在表格某一列点击排序按钮,对当前选择的表单 按该列进行排序,右上角排序选择框可以决定排 序的方向是升序还是逆序。 【II】教师端 1)教师基本信息 教师信息将显示在表格左侧 2)查看学生列表 单击“我的学生”,表格中将显示该教师的所有 学生 3)在表格中右击某一个学生,将进入成绩修改窗 口(教师端),支持为当前学生添加或修改当前 教师所教科目的学生成绩 4)查看成绩表 单击“成绩表”,表格中显示该教师所有学生的 成绩信息。 【III】学生端 1)学生基本信息 学生信息将显示在表格左侧 2)查看成绩 单击“学业成绩”,表格中将显示学生所有成绩 3)查看老师 单击“我的老师”,表格中将显示学生所有老师 的基本信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值