基于java+mysql学生管理系统的实现

前言:因为也不完全是自己做的   我只是在前人的基础上修改了部分代码   添加了数据库  实现了界面而已   希望对诸位能有所帮助   最后想说一句 ,借鉴就行 但别完全照搬,CSDN账号只是不定期上而已 

好了 不废话,源码和部分实现效果附上:

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("com.mysql.jdbc.Driver");
					System.out.println("JBDC 加载成功!");
				}catch(Exception a){
					System.out.println("JBDC 啊哦!");
					a.printStackTrace();
				}
				try{
					conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/lala","root","405420");
					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);
		
	}
	
	
}

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/lala","root","405420");
					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);
		
		
	}
	
	
}



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/lala", "root", "405420");
					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 fail");
								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/lala", "root","405420");
								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);


	}


}
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/lala", "root", "405420");
					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);


	}


}
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/lala", "root", "405420");
			ps = conn.prepareStatement("SELECT number,name,sex,birthday,department 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);


	}


}
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);


		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.setVisible(true);
		button1.setVisible(true);
		
		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();
			}
		});
		panel.add(button1);
		panel.add(button2);
		panel.add(button3);
		panel.add(button4);
		panel.add(button5);


		jframe.add(panel);
		
		jframe.setVisible(true);
	
	}


}


  • 15
    点赞
  • 128
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值