基于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 {