基于java+mysql的swing+mysql学生宿舍管理系统(java+swing+mysql)

基于java+mysql的swing+mysql学生宿舍管理系统(java+swing+mysql)

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于java的Swing+MySQL学生宿舍管理系统(java+swing+mysql)

登录:

admin 12346


	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getCollege() {
		return college;
	}

	public void setCollege(String college) {
		this.college = college;
	}

	public String getMajor() {
		return major;
	}

	public void setMajor(String major) {
		this.major = major;
	}

	public String getGrade() {
		return grade;
	}

	public void setGrade(String grade) {
		this.grade = grade;
	}

	public String getArea() {
		return area;
	}

	public void setArea(String area) {
		this.area = area;
	}

	public String getBuilding() {
		return building;
	}


public class UpdateFrame extends JDialog {

	JLabel lab0 = new JLabel("学      号:");
	JLabel lab1 = new JLabel("姓      名:");
	JLabel lab2 = new JLabel("性      别:");
	JLabel lab3 = new JLabel("手 机 号:");
	JLabel lab4 = new JLabel("学      院:");
	JLabel lab5 = new JLabel("专      业:");
	JLabel lab6 = new JLabel("班      级:");
	JLabel lab7 = new JLabel("宿 舍 区:");
	JLabel lab8 = new JLabel("楼      栋:");
	JLabel lab9 = new JLabel("宿 舍 号:");
	JTextField code = new JTextField();
	JTextField name = new JTextField();

	JComboBox gender = null;
	JTextField phone = new JTextField();
	JTextField college = new JTextField();
	JTextField major = new JTextField();
	JTextField grade = new JTextField();
	JTextField area = new JTextField();
	JTextField building = new JTextField();
	JTextField dormitory = new JTextField();

	JButton but1 = new JButton("保存");
	JButton but2 = new JButton("取消");
	Dimension ds = Toolkit.getDefaultToolkit().getScreenSize();
	
	private int id = 0;

	public UpdateFrame(Student stu) throws ClassNotFoundException, SQLException {
		String tempsex[] = { "男", "女" };
		gender = new JComboBox(tempsex);
		this.setLayout(null);
		code.setBounds(150, 100, 150, 30);
		name.setBounds(150, 150, 150, 30);
		gender.setBounds(150, 200, 150, 30);
		phone.setBounds(150, 250, 150, 30);
		college.setBounds(150, 300, 150, 30);

		major.setBounds(420, 100, 150, 30);
		grade.setBounds(420, 150, 150, 30);
		area.setBounds(420, 200, 150, 30);
							JOptionPane.YES_NO_CANCEL_OPTION);
					try {
						mpan.showinfo(jtf.getText());
					} catch (ClassNotFoundException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					} catch (SQLException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
				}

			}

		});

		frame.add(pan3);
		frame.setSize(1000, 700);
		frame.setVisible(true);
		frame.setLocation(((int) (ds.getWidth()) - 1000) / 2, ((int) (ds.getHeight()) - 800) / 2);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

}


public class StudentDao {
	private static Connection conn = ConnectionUtil.getConnection();
	private static Statement sta;
	private final static String table = "student";

	public StudentDao() {
			ResultSet res = sta.executeQuery(queryAllSql);
			while (res.next()) {
				Student stu = new Student();
				stu.setId(res.getInt("id"));
				stu.setCode(res.getString("code"));
				stu.setName(res.getString("name"));
				stu.setGender(res.getString("gender"));
				stu.setPhone(res.getString("phone"));
				stu.setCollege(res.getString("college"));
				stu.setMajor(res.getString("major"));
				stu.setGrade(res.getString("grade"));
				stu.setBuilding(res.getString("building"));
				stu.setDormitory(res.getString("dormitory"));
				stu.setArea(res.getString("area"));
				stuList.add(stu);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return stuList;
	}

	public void save(Student student) {
		String addSql = "insert into student(code,name,gender,phone,college,major,grade,area,building,dormitory) values"
				+ " ('" + student.getCode() + "','" + student.getName() + "','" + student.getGender() + "','"
				+ student.getPhone() + "','" + student.getCollege() + "','" + student.getMajor() + "','"
				+ student.getGrade() + "', '" + student.getArea() + "','" + student.getBuilding() + "', '"
				+ student.getDormitory() + "' )";
		try {
			sta.execute(addSql);
			sta.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public void update(Student student) {
		String s = "insert into student(code,name,gender,phone,college,major,grade,area,building,dormitory)";
		String updateSql = "update student  " + " set code='" + student.getCode() + "',name='" + student.getName()
				+ "',gender='" + student.getGender() + "',phone='" + student.getPhone() + "',college='"
				+ student.getCollege() + "',major='" + student.getMajor() + "',grade='" + student.getGrade()
				+ "', area='" + student.getArea() + "',building='" + student.getBuilding() + "', dormitory='"
				+ student.getDormitory() + "' where id = " + student.getId();
		try {
			sta.execute(updateSql);
			sta.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
							@Override
							public void actionPerformed(ActionEvent e) {
								try {
									updateFrame.updateInfo();
									mpan.showinfo("");
									JOptionPane.showMessageDialog(null, "添加成功!", "系统提示", JOptionPane.INFORMATION_MESSAGE);
									updateFrame.dispose();
								} catch (ClassNotFoundException | SQLException e1) {
									e1.printStackTrace();
								}
								
							}
						});
					
					}
				} catch (ClassNotFoundException e1) {
					e1.printStackTrace();
				} catch (SQLException e1) {
					e1.printStackTrace();
				}

			}

		});
		jtf.addKeyListener(new KeyListener() {
			public void keyTyped(KeyEvent e) {

			}

			public void keyPressed(KeyEvent e) {
				if (e.getKeyCode() == 10) {
					try {
						if (jtf.getText().equals("")) {
							mpan.infoflag = 0;
						} else {
							mpan.infoflag = 1;
						}
						mpan.showinfo(jtf.getText());
					} catch (ClassNotFoundException e1) {
						e1.printStackTrace();
					} catch (SQLException e1) {
						e1.printStackTrace();
					}
				}
			}

			public void keyReleased(KeyEvent e) {

			}
		});
		but7.addActionListener(new ActionListener() {
	}

	public String getMajor() {
		return major;
	}

	public void setMajor(String major) {
		this.major = major;
	}

	public String getGrade() {
		return grade;
	}

	public void setGrade(String grade) {
		this.grade = grade;
	}

	public String getArea() {
		return area;
	}

	public void setArea(String area) {
		this.area = area;
	}

	public String getBuilding() {
		return building;
	}

	public void setBuilding(String building) {
		this.building = building;
	}

	public String getDormitory() {
		return dormitory;
	}

	public void setDormitory(String dormitory) {
		this.dormitory = dormitory;
	}

	@Override
	public String toString() {
		return "" + id + ", " + code + ", " + name + ", " + gender + ", " + phone
				+ ", " + college + ", " + major + ", " + grade + ", " + area + ", "
				+ building + ", " + dormitory + "]";
	}
	
	
	
		});
		lgjtf.addMouseListener(new MouseListener() {

			public void mouseReleased(MouseEvent e) {

			}

			public void mousePressed(MouseEvent e) {

			}

			public void mouseExited(MouseEvent e) {

			}

			public void mouseEntered(MouseEvent e) {
			}

			public void mouseClicked(MouseEvent e) {
				if (lgjtf.getText().equals("") || lgjtf.getText().equals("请输入用户账号")) {
					lgjtf.setText("");
				} else {
					;
				}
			}
		});
		lgjpwf.addKeyListener(new KeyListener() {

			@Override
			public void keyTyped(KeyEvent e) {
				// TODO 自动生成的方法存根
			}

			public void keyPressed(KeyEvent e) {
				if (e.getKeyCode() == 10) {// *********************************************************
					if (lgjtf.getText().equals("") || lgjtf.getText().equals("请输入用户账号")) {
						JOptionPane.showMessageDialog(null, "请输入用户账号!", "系统提示", JOptionPane.WARNING_MESSAGE);
					} else if ((!lgjtf.getText().equals("")) && (!lgjtf.getText().equals("请输入用户账号"))
							&& (String.valueOf(lgjpwf.getPassword()).equals(""))) {
						JOptionPane.showMessageDialog(null, "请输入密码!", "系统提示", JOptionPane.WARNING_MESSAGE);
					} else {
						login();
					}
				}
			}

			public void keyReleased(KeyEvent e) {

			}
		});
		lgjpwf.addMouseListener(new MouseListener() {

			public void mouseClicked(MouseEvent e) {

public class StudentDao {
	private static Connection conn = ConnectionUtil.getConnection();
	private static Statement sta;
	private final static String table = "student";

	public StudentDao() {
		try {
			this.sta = conn.createStatement();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * 删除
	 * 
	 * @param id
	 */
	public void delete(int id) {
		String deleteSql = "delete from " + table + " where id = " + id + "";
		try {
			sta.execute(deleteSql);
			sta.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * 查询全部
	 * 
	 * @param info
	 * @return
	 */
	public List<Student> queryAll(String keyword) {
		List<Student> stuList = new ArrayList<>();
		String queryAllSql = "select * from " + table + " ";
		if (!StringUtils.isNullOrEmpty(keyword)) {
			keyword = "%" + keyword + "%";
			queryAllSql = "select * from " + table + " where code like '" + keyword + "' or name like '" + keyword
					+ "' or dormitory like '" + keyword + "'";
		}
						mpan.showinfo(jtf.getText());
					} catch (ClassNotFoundException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					} catch (SQLException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
				}

			}

		});

		frame.add(pan3);
		frame.setSize(1000, 700);
		frame.setVisible(true);
		frame.setLocation(((int) (ds.getWidth()) - 1000) / 2, ((int) (ds.getHeight()) - 800) / 2);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

}

	}
	public void addinfo() throws ClassNotFoundException, SQLException{//添加信息
		Student student = new Student();
		student.setCode(code.getText());
		student.setName(name.getText());
		student.setGender(gender.getSelectedItem().toString());
		student.setPhone(phone.getText());
		student.setCollege(college.getText());
		student.setMajor(major.getText());
		student.setGrade(grade.getText());
		student.setArea(area.getText());
		student.setBuilding(building.getText());
		student.setDormitory(dormitory.getText());
		StudentDao dao = new StudentDao();
		dao.save(student);
	}

}

		lab9.setBounds(330, 300, 90, 30);
		but1.setBounds(500, 380, 120, 30);
		but2.setBounds(360, 380, 120, 30);

		lab0.setFont(new Font("华文仿宋", Font.BOLD, 18));
		lab1.setFont(new Font("华文仿宋", Font.BOLD, 18));
		lab2.setFont(new Font("华文仿宋", Font.BOLD, 18));
		lab3.setFont(new Font("华文仿宋", Font.BOLD, 18));
		lab4.setFont(new Font("华文仿宋", Font.BOLD, 18));
		lab5.setFont(new Font("华文仿宋", Font.BOLD, 18));
		lab6.setFont(new Font("华文仿宋", Font.BOLD, 18));
		lab7.setFont(new Font("华文仿宋", Font.BOLD, 18));
		lab8.setFont(new Font("华文仿宋", Font.BOLD, 18));
		lab9.setFont(new Font("华文仿宋", Font.BOLD, 18));

		but1.setFont(new Font("宋体", Font.BOLD, 18));
		but2.setFont(new Font("宋体", Font.BOLD, 18));

		this.add(lab0);
		this.add(lab1);
		this.add(lab2);
		this.add(lab3);
		this.add(lab4);
		this.add(lab5);
		this.add(lab6);
		this.add(lab7);
		this.add(lab8);
		this.add(lab9);

		this.add(code);
		this.add(gender);
		this.add(college);
		this.add(grade);
		this.add(name);
		this.add(building);
		this.add(phone);
		this.add(major);
		this.add(area);
		this.add(dormitory);
		this.add(but1);
		this.add(but2);
		this.setTitle("修改学生信息");

		id = stu.getId();
		code.setText(stu.getCode());
		gender.setSelectedIndex("男".equals(stu.getGender())? 0:1);
		college.setText(stu.getCollege());
		grade.setText(stu.getGrade());
		name.setText(stu.getName());
		building.setText(stu.getBuilding());

			}

			public void mouseExited(MouseEvent e) {

			}

		});
		but6.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				try {
					int i = 0;
					i = mpan.table.getSelectedRow();
					if (i == -1) {
						JOptionPane.showMessageDialog(null, "您还未选中任何行!", "系统提示", JOptionPane.WARNING_MESSAGE);
					} else {
						Student stu = new Student();
						stu.setId(Integer.parseInt(mpan.table.getValueAt(i, 0).toString()));
						stu.setCode(mpan.table.getValueAt(i, 1).toString());
						stu.setName(mpan.table.getValueAt(i, 2).toString());
						stu.setGender(mpan.table.getValueAt(i, 3).toString());
						stu.setPhone(mpan.table.getValueAt(i, 4).toString());
						stu.setCollege(mpan.table.getValueAt(i, 5).toString());
						stu.setMajor(mpan.table.getValueAt(i, 6).toString());
						stu.setGrade(mpan.table.getValueAt(i, 7).toString());
						stu.setArea(mpan.table.getValueAt(i, 8).toString());
						stu.setBuilding(mpan.table.getValueAt(i, 9).toString());
						stu.setDormitory(mpan.table.getValueAt(i, 10).toString());

						updateFrame = new UpdateFrame(stu);
						updateFrame.but1.addActionListener(new ActionListener() {
							
							@Override
							public void actionPerformed(ActionEvent e) {
								try {
									updateFrame.updateInfo();
									mpan.showinfo("");
									JOptionPane.showMessageDialog(null, "添加成功!", "系统提示", JOptionPane.INFORMATION_MESSAGE);
									updateFrame.dispose();
								} catch (ClassNotFoundException | SQLException e1) {
									e1.printStackTrace();
								}
								
							}
						});
					

	public StudentDao() {
		try {
			this.sta = conn.createStatement();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * 删除
	 * 
	 * @param id
	 */
	public void delete(int id) {
		String deleteSql = "delete from " + table + " where id = " + id + "";
		try {
			sta.execute(deleteSql);
			sta.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * 查询全部
	 * 
	 * @param info
	 * @return
	 */
	public List<Student> queryAll(String keyword) {
		List<Student> stuList = new ArrayList<>();
		String queryAllSql = "select * from " + table + " ";
		if (!StringUtils.isNullOrEmpty(keyword)) {
			keyword = "%" + keyword + "%";
			queryAllSql = "select * from " + table + " where code like '" + keyword + "' or name like '" + keyword
					+ "' or dormitory like '" + keyword + "'";
		}

		try {
			ResultSet res = sta.executeQuery(queryAllSql);
			while (res.next()) {
				Student stu = new Student();
				stu.setId(res.getInt("id"));
				stu.setCode(res.getString("code"));
				stu.setName(res.getString("name"));
				stu.setGender(res.getString("gender"));
				stu.setPhone(res.getString("phone"));
				stu.setCollege(res.getString("college"));
				stu.setMajor(res.getString("major"));

		lgframe.setSize(545, 450);
		lgframe.setLocation((int) ((ds.getWidth() - 545) / 2), (int) ((ds.getHeight() - 450) / 2));
		lgframe.setResizable(false);
		lgframe.setDefaultCloseOperation(lgframe.DISPOSE_ON_CLOSE);
		lgframe.setVisible(true);
	}

	public void login() {// 连接数据库,进行用户验证。
		String username = lgjtf.getText();
		String password = String.valueOf(lgjpwf.getPassword());
		boolean loginRes = loginDao.login(username, password);
		if (loginRes) {
			lgframe.dispose();
			try {
				new MainFrame();
			} catch (ClassNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} else {
			JOptionPane.showMessageDialog(null, "用户名密码不匹配!", "系统提示", JOptionPane.WARNING_MESSAGE);
		}
	}
}

				} else {
					;
				}
			}

			public void focusGained(FocusEvent e) {

			}
		});
		lgjtf.addMouseListener(new MouseListener() {

			public void mouseReleased(MouseEvent e) {

			}

			public void mousePressed(MouseEvent e) {

			}

			public void mouseExited(MouseEvent e) {

			}

			public void mouseEntered(MouseEvent e) {
			}

			public void mouseClicked(MouseEvent e) {
				if (lgjtf.getText().equals("") || lgjtf.getText().equals("请输入用户账号")) {
					lgjtf.setText("");
				} else {
					;
				}
			}
		});
		lgjpwf.addKeyListener(new KeyListener() {

			@Override
			public void keyTyped(KeyEvent e) {
				// TODO 自动生成的方法存根
			}

			public void keyPressed(KeyEvent e) {
				if (e.getKeyCode() == 10) {// *********************************************************
					if (lgjtf.getText().equals("") || lgjtf.getText().equals("请输入用户账号")) {
						JOptionPane.showMessageDialog(null, "请输入用户账号!", "系统提示", JOptionPane.WARNING_MESSAGE);
					} else if ((!lgjtf.getText().equals("")) && (!lgjtf.getText().equals("请输入用户账号"))
							&& (String.valueOf(lgjpwf.getPassword()).equals(""))) {
						JOptionPane.showMessageDialog(null, "请输入密码!", "系统提示", JOptionPane.WARNING_MESSAGE);
					} else {
						login();
					}
				}
			}
			public void insertUpdate(DocumentEvent e) {
				lgjtf.setFont(lgfnt2);
			}

			public void changedUpdate(DocumentEvent e) {
			}
		});

		lgjtf.addFocusListener(new FocusListener() {// 焦点事件

			public void focusLost(FocusEvent e) {
				if (lgjtf.getText().equals("") || lgjtf.getText().equals("请输入用户账号")) {
					lgjtf.setText("请输入用户账号");
					lgjtf.setFont(lgfnt3);
				} else {
					;
				}
			}

			public void focusGained(FocusEvent e) {

			}
		});
		lgjtf.addMouseListener(new MouseListener() {

			public void mouseReleased(MouseEvent e) {

			}

			public void mousePressed(MouseEvent e) {

			}

			public void mouseExited(MouseEvent e) {

			}

			public void mouseEntered(MouseEvent e) {
			}

			public void mouseClicked(MouseEvent e) {
				if (lgjtf.getText().equals("") || lgjtf.getText().equals("请输入用户账号")) {
					lgjtf.setText("");
				} else {

请添加图片描述
请添加图片描述
请添加图片描述

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
通讯录管理系统是一个基于Java编程语言MySQL数据库的应用程序,用于帮助用户有效地管理他们的联系人信息。这个系统采用了Swing框架来构建直观友好的用户界面,使用户能够方便地添加、编辑、删除和搜索联系人信息。 系统的主要功能包括以下几个方面:首先,在系统中,用户可以创建一个新的联系人条目,并输入姓名、电话号码、电子邮件地址等联系信息。其次,用户可以编辑已有联系人的信息,比如更新电话号码、修改电子邮件地址等。此外,系统还提供了删除联系人的功能,用户可以根据需要删除不再需要的联系人信息。 此外,这个通讯录管理系统还具有一个搜索功能,用户可以输入关键词来查找特定的联系人信息。系统将会根据用户提供的关键词进行匹配,并且显示与之匹配的联系人信息。 在技术实现方面,系统使用了Java语言进行编码,并且依赖于MySQL数据库来存储联系人信息。通过Java语言MySQL数据库的组合,系统能够实现数据的持久化,确保联系人信息在系统关闭后不会丢失。 同时,系统采用了Swing框架来构建用户界面,利用Swing的各种组件,如文本框、按钮、下拉框等,来设计直观友好的界面,使用户能够轻松上手并且方便操作。 总的来说,这个基于JavaMySQLSwing的通讯录管理系统,为用户提供了一个方便高效的方式来管理联系人信息,帮助用户更好地组织和利用自己的通讯录。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java毕业

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值