(刚入门级别)java课程设计——学生信息管理系统

在快到期末的时候老师叫我们写一个java的课程设计,并要求至少8个页面。由于在学习java中并不是很系统的学习,只是在上课时简单的听听,所以我对java还是很陌生。在写这个项目的时候参考书本及一些大佬的文章,理解如何连接MySQL数据库,终于用了一周的时间才完成这个简单的项目,由于个人能力不足,请各位大佬理解一下。

话不多说,请看图

登录界面

登录

主界面

在这里插入图片描述

添加功能

在这里插入图片描述

删除功能

在这里插入图片描述

查询功能

在这里插入图片描述在这里插入图片描述在这里插入图片描述

修改功能

在这里插入图片描述

添加管理员、修改密码

在这里插入图片描述在这里插入图片描述

部分源代码

登录界面代码
package Student;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.border.MatteBorder;

public class Login extends JFrame {
	
	static  JTextField t1 ; //文本框
			JTextField t2 ;
	
	
	public Login() {
	Container cp = getContentPane();
	
	JButton b1 ,b2;    //按钮
	Label l1 , l2;      //标签
	t1 = new JTextField(15);
	t2 =new JPasswordField(15);
	b1 = new JButton("登陆");
    b2 = new JButton("重置");
    l1 = new Label("用户名: ");
	l2 = new Label("密码    : ");
	
	JPanel p1 = new JPanel();
	JPanel p2 = new JPanel();
	JPanel p3 = new JPanel();
	JPanel p4 = new JPanel();
	JPanel p5 = new JPanel();

	p1.add(l1);
	p1.add(t1);
	p1.setBorder(new MatteBorder(1,1,1,1,Color.BLACK)); //创建具有指定 insets 和颜色的衬边边框
	p1.setBackground(Color.YELLOW); //设置此组件的背景色。
	
	p2.add(l2);
	p2.add(t2);
	p2.setBorder(new MatteBorder(1,1,1,1,Color.BLACK));
	p2.setBackground(Color.YELLOW);
	
	p3.add(b1);
	p3.setBorder(new MatteBorder(1,1,1,1,Color.BLACK));
	p3.setBackground(Color.yellow);
	
	p4.add(b2);
	p4.setBorder(new MatteBorder(1,1,1,1,Color.BLACK));
	p4.setBackground(Color.yellow);
	
	 p5.add(p1);
	 p5.add(p2);
	 p5.add(p3);
	 p5.add(p4);
	 p5.setLayout(new FlowLayout(FlowLayout.CENTER,60,30)); //居中,水平距60,垂直距30
	 cp.add(p5); 
	 
	 //监视器
	 b1.addActionListener(new ActionListener (){
			public void actionPerformed(ActionEvent e) {
				if( DAO.DengLu(t1.getText(), t2.getText()) ){
				//JOptionPane 有助于方便地弹出要求用户提供值或向其发出通知的标准对话框。
					JOptionPane.showMessageDialog(t1,"登录成功");  //调出标题为 "Message" 的信息消息对话框
					Operate h1 = new Operate();					
					dispose();  //释放由此 Window、其子组件及其拥有的所有子组件所使用的所有本机屏幕资源
				}
				else {
					JOptionPane.showMessageDialog(null,"用户名或密码错误","错误",JOptionPane.ERROR_MESSAGE);	
					t1.setText("");
					t2.setText("");
					}
				}
					
			});
	 
	 b2.addActionListener(new ActionListener (){
			@Override
			public void actionPerformed(ActionEvent e) {
				t1.setText("");
				t2.setText("");
				t1.requestFocusInWindow();	//请求此 Component 获取输入焦点
			}
		});
	}
}
主页面代码
package Student;

import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.MatteBorder;

public class Operate extends JFrame{
	
	
	public Operate() {
		
		setBounds(600,300,340,400);
		setVisible(true);
		setTitle("学生信息管理系统");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setResizable(false); //窗口不可变
		
		Container con = getContentPane();
		
		JButton b1 = new JButton("添加");
		JButton b2 = new JButton("删除");
		JButton b3 = new JButton("查询");
		JButton b4 = new JButton("修改");
		JButton b5 = new JButton("系统");
		JButton b6 = new JButton("退出");
		
		JPanel p1 = new JPanel();
		JPanel p2 = new JPanel();
		JPanel p3 = new JPanel();
		JPanel p4 = new JPanel();
		JPanel p5 = new JPanel();
		JPanel p6 = new JPanel();
		JPanel p7 = new JPanel();
		
		p1.add(b1);  
		p1.setBorder(new MatteBorder(1,1,1,1,Color.black));
		p1.setBackground(Color.yellow );
		b1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(e.getSource() == b1) {
					AddS o1 = new AddS();  //添加
					dispose();	
				}			
			}
		});
		
		p2.add(b2);
		p2.setBorder(new MatteBorder(1,1,1,1,Color.black));
		p2.setBackground(Color.yellow );
		b2.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(e.getSource() == b2) {
					Delete d1 = new Delete();  //删除
					dispose();	
				}			
			}
		});
		
		p3.add(b3);
		p3.setBorder(new MatteBorder(1,1,1,1,Color.black));
		p3.setBackground(Color.yellow );
		b3.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(e.getSource() == b3) {
					Lookup l1 = new Lookup();  //查询
					dispose();	
				}			
			}
		});
		
		p4.add(b4);
		p4.setBorder(new MatteBorder(1,1,1,1,Color.black));
		p4.setBackground(Color.yellow );
		b4.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(e.getSource() == b4) {
					ChangeS c1 = new ChangeS();  //修改
					dispose();	
				}			
			}
		});
		
		p5.add(b5);
		p5.setBorder(new MatteBorder(1,1,1,1,Color.black));
		p5.setBackground(Color.yellow );
		b5.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(e.getSource() == b5) {
					XiTong x1 = new XiTong();  //系统
					dispose();	
				}			
			}
		});
		
		p6.add(b6);
		p6.setBorder(new MatteBorder(1,1,1,1,Color.black));
		p6.setBackground(Color.yellow );
		b6.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(e.getSource() == b6) {
					System.exit(0);  //退出
					dispose();	
				}			
			}
		});
	
		p7.add(p1);
		p7.add(p2);
		p7.add(p3);
		p7.add(p4);
		p7.add(p5);
		p7.add(p6);
		p7.setLayout(new FlowLayout(FlowLayout.CENTER, 50, 60));
		con.add(p7);
				
	}
}

添加—添加学生
package Student;

import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;

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.MatteBorder;

public class AddS extends JFrame {

	public AddS() {
		
		setTitle("添加");
		setBounds(600, 300, 300, 360);
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setResizable(false);
		
		JTextField t1,t2,t3,t4,t5;
		JLabel l1,l2,l3,l4,l5;
		JButton b1,b2;
		
		Container con = getContentPane();
		
		l1 = new JLabel("学号: ");
		l2 = new JLabel("姓名: ");
		l3 = new JLabel("年龄: ");
		l4 = new JLabel("性别: ");
		l5 = new JLabel("班级: ");
		
		b1 = new JButton("确认");
		b2 = new JButton("取消");
		
		t1 = new JTextField(15);
		t2 = new JTextField(15);
		t3 = new JTextField(15);
		t4 = new JTextField(15);
		t5 = new JTextField(15);
		
		JPanel p1 = new JPanel();
		JPanel p2 = new JPanel();
		JPanel p3 = new JPanel();
		JPanel p4 = new JPanel();
		JPanel p5 = new JPanel();
		JPanel p6 = new JPanel();
		JPanel p7 = new JPanel();
		JPanel p8 = new JPanel();
		
		p1.add(l1);
		p1.add(t1);
		p1.setBorder(new MatteBorder(1,1,1,1,Color.BLACK)); //创建具有指定 insets 和颜色的衬边边框
		p1.setBackground(Color.YELLOW); //设置此组件的背景色。
		
		p2.add(l2);
		p2.add(t2);
		p2.setBorder(new MatteBorder(1,1,1,1,Color.BLACK)); //创建具有指定 insets 和颜色的衬边边框
		p2.setBackground(Color.YELLOW); //设置此组件的背景色。
	
		p3.add(l3);
		p3.add(t3);
		p3.setBorder(new MatteBorder(1,1,1,1,Color.BLACK)); //创建具有指定 insets 和颜色的衬边边框
		p3.setBackground(Color.YELLOW); //设置此组件的背景色。
		
		p4.add(l4);
		p4.add(t4);
		p4.setBorder(new MatteBorder(1,1,1,1,Color.BLACK)); //创建具有指定 insets 和颜色的衬边边框
		p4.setBackground(Color.YELLOW); //设置此组件的背景色。
		
		p5.add(l5);
		p5.add(t5);
		p5.setBorder(new MatteBorder(1,1,1,1,Color.BLACK)); //创建具有指定 insets 和颜色的衬边边框
		p5.setBackground(Color.YELLOW); //设置此组件的背景色。
		
		p6.add(b1);
		p6.setBorder(new MatteBorder(1, 1, 1, 1, Color.BLACK));
		p6.setBackground(Color.YELLOW);
		
		p7.add(b2);
		p7.setBorder(new MatteBorder(1, 1, 1, 1, Color.BLACK));
		p7.setBackground(Color.YELLOW);
		
		p8.add(p1);
		p8.add(p2);
		p8.add(p3);
		p8.add(p4);
		p8.add(p5);
		p8.add(p6);
		p8.add(p7);
		p8.setLayout(new FlowLayout(FlowLayout.CENTER,30,15)); //居中,水平距30,垂直距15
		con.add(p8);
		
		b1.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				
				List<Student> list1 = MysqlAll.all1();
				String s1 = t1.getText();
				String s2 = t2.getText();
				String s3 = t3.getText();
				String s4 = t4.getText();
				String s5 = t5.getText();
				Student s = new Student(s1,s2,s3,s4,s5);
				
				for(Student st:list1) {
					if(st.getId().equals(s1)) {
					   JOptionPane.showMessageDialog(null,"学号已存在","错误",JOptionPane.ERROR_MESSAGE);
						return; //终止函数的执行,
					}
				}
				
				if( DAO.IfNull(s1) == true || DAO.IfNull(s2) == true ) { //不能空值
					JOptionPane.showMessageDialog(null,"学号或姓名为空","错误",JOptionPane.ERROR_MESSAGE);
				}
				
				else {
				boolean res = DAO.AddInS(s);
					if (res == true) {
						JOptionPane.showMessageDialog(b1,"添加成功");  //消息对话框
						t1.setText("");
						t2.setText("");
						t3.setText("");
						t4.setText("");
						t5.setText("");
							} 
					else {
						JOptionPane.showMessageDialog(null,"添加错误","错误",JOptionPane.ERROR_MESSAGE);
					}
				}
			}	
		});
		
		b2.addActionListener(new ActionListener(){
			
			public void actionPerformed(ActionEvent e) {
				Operate h1 = new Operate();
				dispose();  //释放由此 Window、其子组件及其拥有的所有子组件所使用的所有本机屏幕资
			}
		});			
	}
}
添加—添加管理员
package Student;

import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;

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.MatteBorder;

public class AddU extends JFrame {
	
	JTextField t1,t2,t3,t4;
	JLabel l1,l2,l3,l4;
	JButton b1,b2;
	public AddU() {
		Container con = getContentPane();
		
		l1 = new JLabel("用户: ");
		l2 = new JLabel("密码: ");
		l3 = new JLabel("性别: ");
		l4 = new JLabel("电话: ");
		
		b1 = new JButton("确认");
		b2 = new JButton("取消");
		
		t1 = new JTextField(15);
		t2 = new JTextField(15);
		t3 = new JTextField(15);
		t4 = new JTextField(15);
	
		JPanel p1 = new JPanel();
		JPanel p2 = new JPanel();
		JPanel p3 = new JPanel();
		JPanel p4 = new JPanel();
		JPanel p5 = new JPanel();
		JPanel p6 = new JPanel();
		JPanel p7 = new JPanel();
		
		p1.add(l1);
		p1.add(t1);
		p1.setBorder(new MatteBorder(1,1,1,1,Color.BLACK)); //创建具有指定 insets 和颜色的衬边边框
		p1.setBackground(Color.YELLOW); //设置此组件的背景色。
		
		p2.add(l2);
		p2.add(t2);
		p2.setBorder(new MatteBorder(1,1,1,1,Color.BLACK)); //创建具有指定 insets 和颜色的衬边边框
		p2.setBackground(Color.YELLOW); //设置此组件的背景色。
		
		p3.add(l3);
		p3.add(t3);
		p3.setBorder(new MatteBorder(1,1,1,1,Color.BLACK)); //创建具有指定 insets 和颜色的衬边边框
		p3.setBackground(Color.YELLOW); //设置此组件的背景色。

		p4.add(l4);
		p4.add(t4);
		p4.setBorder(new MatteBorder(1,1,1,1,Color.BLACK)); //创建具有指定 insets 和颜色的衬边边框
		p4.setBackground(Color.YELLOW); //设置此组件的背景色。
		
		p5.add(b1);
		p5.setBorder(new MatteBorder(1, 1, 1, 1, Color.BLACK));
		p5.setBackground(Color.YELLOW);

		
		p6.add(b2);
		p6.setBorder(new MatteBorder(1, 1, 1, 1, Color.BLACK));
		p6.setBackground(Color.YELLOW);

		
		p7.add(p1);
		p7.add(p2);
		p7.add(p3);
		p7.add(p4);
		p7.add(p5);
		p7.add(p6);
		p7.setLayout(new FlowLayout(FlowLayout.CENTER,20,20)); //居中,水平距20,垂直距20
		con.add(p7);
		
		b1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				
				List<User> user1 = MysqlAll.all2();
				
				String u1 = t1.getText();
				String u2 = t2.getText();
				String u3 = t3.getText();
				String u4 = t4.getText();
				User user2 = new User(u1,u2,u3,u4);
				
				for(User user : user1) {
					if(user.getUname().equals(u1)) {
					   JOptionPane.showMessageDialog(null,"用户已存在","错误",JOptionPane.ERROR_MESSAGE);
						return; //终止函数的执行,
					}
				}
				
				if( DAO.IfNull(u1) == true || DAO.IfNull(u2) == true ) { //不能空值
					JOptionPane.showMessageDialog(null,"用户或密码不能为空","错误",JOptionPane.ERROR_MESSAGE);
				}
				
				else {
				boolean res = DAO.AddInU(user2);
					if (res == true) {
						JOptionPane.showMessageDialog(b1,"添加成功");  //消息对话框
						t1.setText("");
						t2.setText("");
						t3.setText("");
						t4.setText("");
					} 
					else {
						JOptionPane.showMessageDialog(null,"添加错误","错误",JOptionPane.ERROR_MESSAGE);
					}
				}
			}	
		});
		
		b2.addActionListener(new ActionListener() {
			
			public void actionPerformed(ActionEvent e) {
				XiTong x1 = new XiTong();
				dispose();	
				}
			});
	}
}

删除—输入学号查找
package Student;

import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;

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.MatteBorder;

public class Delete extends JFrame {

	static JTextField t1;
  public Delete () {
	  
	   setTitle("删除");
	   setBounds(600, 300, 300, 360);
	   setVisible(true);
	   setResizable(false);
	   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	  
	  
	  JLabel l1;
	  JButton b1,b2;
	  t1 = new JTextField(15);
	  l1 = new JLabel("输入学号:");
	  b1 = new JButton("确认");
	  b2 = new JButton("取消");
	  Container con = getContentPane();
	  
	  JPanel p1 = new JPanel();
	  JPanel p2 = new JPanel();
	  JPanel p3 = new JPanel();
	  JPanel p4 = new JPanel();
	  JPanel p5 = new JPanel();
	  JPanel p6 = new JPanel();
	  JPanel p7 = new JPanel();
	  
	  p1.add(l1);
	  p1.add(t1);
	  p1.setBorder(new MatteBorder(1,1,1,1,Color.BLACK)); //创建具有指定 insets 和颜色的衬边边框
	  p1.setBackground(Color.YELLOW); //设置此组件的背景色。
	  p2.add(p1);
	  
	  p3.add(b1);
	  p3.setBorder(new MatteBorder(1,1,1,1,Color.BLACK));
	  p3.setBackground(Color.yellow);
	  p4.add(p3);
	  
	  p5.add(b2);
	  p5.setBorder(new MatteBorder(1,1,1,1,Color.BLACK));
	  p5.setBackground(Color.yellow);
	  p6.add(p5);
	  
	  p7.setLayout(new FlowLayout(FlowLayout.CENTER,40,80)); //居中,水平距40垂直距80
	  p7.add(p2);
	  p7.add(p4);
	  p7.add(p6);
	  con.add(p7);  
	  
	  b1.addActionListener(new ActionListener() {
		  public void actionPerformed(ActionEvent e) {
			if(e.getSource() == b1) {
				  if( DAO.LookId(t1.getText()).size() == 0 ) {
						JOptionPane.showMessageDialog(null, "学号不存在","错误",JOptionPane.ERROR_MESSAGE);
					}
				  else {
				DeleteShow ds = new DeleteShow();
				dispose();
				  }
			}
		}
	});
	  
	 b2.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				Operate h1 = new Operate();
				dispose();  //释放由此 Window、其子组件及其拥有的所有子组件所使用的所有本机屏幕资
			}
		});
  }
	
	
}

删除—是否删除
package Student;

import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.MatteBorder;

public class DeleteShow  extends JFrame{


JLabel l1,l2,l3,l4,l5,l6;
	
public DeleteShow() {
	
	    setTitle("删除该学生信息");
	    setBounds(800, 200, 350, 580);
        setVisible(true);
        setResizable(false);
	    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	
	Container con = getContentPane();
	List<Student> list = DAO.LookId(Delete.t1.getText());		
	JButton b1 = new JButton("是");
	JButton b2 = new JButton("否");
	l6 = new JLabel("确定要删除该学生的信息吗 ? ");
	for(Student st : list) {
			
		l1 = new JLabel("学号:  "+st.getId());
		l2 = new JLabel("姓名:  "+st.getName());
		l3 = new JLabel("年龄:  "+st.getAge());
		l4 = new JLabel("性别:  "+st.getSex());
		l5 = new JLabel("班级:  "+st.getBanji());
	}
		
		JPanel p1 = new JPanel();
		JPanel p2 = new JPanel();
		JPanel p3 = new JPanel();
		JPanel p4 = new JPanel();
		JPanel p5 = new JPanel();
		JPanel p6 = new JPanel();
		JPanel p7 = new JPanel();
		JPanel p8 = new JPanel();
		JPanel p9 = new JPanel();
		JPanel p0 = new JPanel();

		p1.add(l1);
		p1.setBorder(new MatteBorder(1,1,1,1,Color.BLACK)); //创建具有指定 insets 和颜色的衬边边框
		p1.setBackground(Color.YELLOW); //设置此组件的背景色。
		
		p2.add(l2);
		p2.setBorder(new MatteBorder(1,1,1,1,Color.BLACK)); //创建具有指定 insets 和颜色的衬边边框
		p2.setBackground(Color.YELLOW); //设置此组件的背景色。
	
		p3.add(l3);
		p3.setBorder(new MatteBorder(1,1,1,1,Color.BLACK)); //创建具有指定 insets 和颜色的衬边边框
		p3.setBackground(Color.YELLOW); //设置此组件的背景色。
		
		p4.add(l4);
		p4.setBorder(new MatteBorder(1,1,1,1,Color.BLACK)); //创建具有指定 insets 和颜色的衬边边框
		p4.setBackground(Color.YELLOW); //设置此组件的背景色。
		
		p5.add(l5);
		p5.setBorder(new MatteBorder(1,1,1,1,Color.BLACK)); //创建具有指定 insets 和颜色的衬边边框
		p5.setBackground(Color.YELLOW); //设置此组件的背景色。
		
		p6.add(l6);
		p6.setBorder(new MatteBorder(1,1,1,1,Color.BLACK)); //创建具有指定 insets 和颜色的衬边边框
		p6.setBackground(Color.YELLOW); //设置此组件的背景色。
		
		p7.add(b1);
		p7.setBorder(new MatteBorder(1,1,1,1,Color.BLACK)); //创建具有指定 insets 和颜色的衬边边框
		p7.setBackground(Color.RED); //设置此组件的背景色。
		
		p8.add(b2);
		p8.setBorder(new MatteBorder(1,1,1,1,Color.BLACK)); //创建具有指定 insets 和颜色的衬边边框
		p8.setBackground(Color.white); //设置此组件的背景色。
		
		
		p9.add(p1);
		p9.add(p2);
		p9.add(p3);
		p9.add(p4);
		p9.add(p5);
		p9.add(p6);
		p9.add(p7);
		p9.add(p8);
		p9.setLayout(new FlowLayout(FlowLayout.CENTER,150,30)); //居中,水平距150垂直距30
		add(p9);
		
		b1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				
				if( DAO.DeleteS(Delete.t1.getText()) ) {	
					JOptionPane.showMessageDialog(null, "删除成功");
					Delete d1 = new Delete();
					dispose();
				}
				else
					JOptionPane.showMessageDialog(null, "删除失败","错误",JOptionPane.ERROR_MESSAGE);
			}
		});
		
		b2.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(e.getSource() == b2) {
					dispose();
					Delete d1 = new Delete();
					dispose();
				}
			}
		});
	}
}

连接数据库
package Student;

import java.sql.*;

public class DataBase {
	
	static Connection con = null;	
	//连接student数据库
	public static Connection getConnection1(String u,String p) {
		String uri = "jdbc:mysql://localhost:3306/xinxi?useSSL=true&characterEncoding-utf-8";
		try {
			//加载驱动
			Class.forName("com.mysql.jdbc.Driver");
			//获取连接对象
			con = DriverManager.getConnection(uri,u, p);

		}
		catch (ClassNotFoundException | SQLException e) {
            System.out.println("连接失败!!!");
			e.printStackTrace();
        }
        return con;
	}
	
	//连接user数据库
	public static Connection getConnection2(String u,String p) {
		String uri = "jdbc:mysql://localhost:3306/xinxi?useSSL=true&characterEncoding-utf-8";
		try {
			//加载驱动
			Class.forName("com.mysql.jdbc.Driver");
			//获取连接对象
			con = DriverManager.getConnection(uri,u, p);

		}
		catch (ClassNotFoundException | SQLException e) {
            System.out.println("连接失败!!!");
			e.printStackTrace();
        }
        return con;
	}
}

源码下载:

链接:https://pan.baidu.com/s/1D4KNMvPzymcDpEOp6-ZdKQ
提取码:an01

  • 13
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
该学生成绩信息管理系统涉及到学生、教师、系统管理员、班级、学生成绩、课程。设置一个系统管理员对系统进行管理。所有用户需输入账号、密码登录进入系统;管理员进入系统后可对学生、老师、班级、课程进行增删改查操作;学生进入系统,查看成绩、查看和修改自己的信息;老师进入系统后,对自己这门课程的学生设置课程成绩、查看和修改自己的信息,查看学生的信息和成绩、以及统计分析学生的成绩; 管理员为班级设置年级,为年级设置课程,为班级的每门课程设置老师,为学生设置班级。一个年级有多门课程(语文、数学、外语等等),班级的每门课程只能有一名老师,一个老师可以有多门课程;老师选择自己这门课程为该课程的学生登记成绩。老师可以查看其他老师的信息(可以当成是老师的通讯录),查看本课程学生的信息和成绩;学生可以查看班级其他同学的信息(可以看成是班级的同学录)。 考试分为两种,一种是年级统考,一种是平时考试。年级统考需要管理员事先添加一次年级统考,考试成绩出来后,老师进入系统选择该次考试为学生登记成绩。平时考试则是班级平时的考试,老师添加考试信息,登记成绩。成绩统计分析则是针对年级统考进行分析,主要涉及各学科分数名次,总分名次。 技术实现 系统环境:Windows开发工具:IDEAJava版本:JDK 1.8服务器:Tomcat 1.8数据库MySQL 5.X系统采用技术:Servlet+Jsp+Jdbc+H-ui+EasyUI+jQuery+Html+Css+Ajax 系统功能系统主要分为三种用户角色,分别是管理员、老师以及学生,其具体功能如下: - 管理员   学生信息管理、教师信息管理、年级信息管理、班级信息管理、课程信息管理、考试信息管理,系统参数设置 - 老师   教学管理、教师个人信息维护、教师通讯录管理 - 学生考试成绩查询、学生通讯录、学生个人信息维护 运行截图 登录界面: 管理员界面: 考试列表:  成绩统计: 学生信息管理: 教师信息管理: 年级、班级信息管理:  系统设置: 教师界面:  成绩登记:  教师通讯录: 个人信息:  学生界面: 学生成绩查询: 班级通讯录: 学生个人信息:              
JAVA程序设计 课程设计报告 课 题: 学生信息管理系统 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间: 目 录 一、系统描述 2 1、需要实现的功能 3 2、设计目的 3 二、分析与设计 3 1、功能模块划分 3 2、数据库结构描述 4 3、系统详细设计文档 6 4、各个模块的实现方法描述 9 5、测试数据及期望结果 11 三、系统测试 16 四、心得体会 23 五、参考文献 24 六、附录 24 一、系统描述 1、需求实现的功能 1.1、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入 时,如果数据库已经存在该学号,则不能再插入该学号。 1.2、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 1.3、查询学生基本信息的功能 可使用 "姓名"对已存有的学生资料进行查询。 1.4、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 1.5、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 1.6、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息 管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者 和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快 捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据, 这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一 长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学 技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人 类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无 法比拟的优点。例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好 、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科 学化、正规化管理,与世界接轨的重要条件。 本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流 程设计完成的。通过一个简化的学生信息管理系统,使学生信息管理工作系统化、规范 化、自动化,从而达到提高学生信息管理效率的目的。 二、分析与设计 1、功能模块划分 图1 功能模块划分图 2、数据库结构描述 2.1、数据库E-R模型 图2 登录用户管理E-R图 图3 实体学生E-R图 2.2、数据库关系模型——二维表 表1 学生表(student) "字段 "数据类型 "说明 " "stuId "nvarchar(30) "学号 " "stuName "nvarchar(30) "姓名 " "stuSex "nvarchar(30) "性别 " "stuAge "int "年龄 " "stuJg "nvarchar(30) "籍贯 " "stuZy "nvarchar(30) "专业 " "classId "nvarchar(30) "班号 " "stuSourse "numeric(5,2) "总学分 " 图4 录入数据后的学生表 表2 登陆权限表(login) "字段 "数据类型 "说明 " "userId "nvarchar(30) "用户名(账号),即登 " " " "陆Id " "password "nvarchar(30) "登陆密码 " "position "nvarchar(30) "职位,如班委,普通学 " " " "生 " 图5 录入数据后的登陆权限表 3、系统详细设计文档 3.1、系统执行流程图 图6 系统执行流程图 3.2、类的划分 表3 学生信息查询类 "类名 "类的成员属性与方法 "说明 " "StuQuery.jav"JPanel jp1 "定义一个面板 " "a " " " " "JLabel jp1_jl1 "定义两个标签 " " "JTextField jp1_jtf1 "定义一个文本输入框 " " "JButton "定义三个按钮 " " "jp1_jb1,jp1_jb2,jp1_jb3 " " " "JTable jtb "定义一个表 " " "JScrollPane jsp "定义一个滚动面板,用于" " " "存放表 " " "TableModel tm "自定义一个表模型,用于" " " "更新表数据 " " "public StuQuery(Frame "构造方法,通过传递三个" " "Main,String title ,boolean "参数,实
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值