【Java】Swing + MySql 实现一个学生会信息管理系统
软件工程课程设计作业
一、功能概述
- 查看成员信息
- 修改成员信息
- 增加成员
- 删除成员
- 成员部门调动
- 发布例会通知
- 设置界面皮肤
- 账号注册
- 修改密码
- 注销账号
二、数据库展示
- 管理员信息
- 用户信息
三、功能展示
四、开发说明
- 开发环境
I
D
E
A
+
J
D
K
1.8
+
M
y
S
q
l
IDEA + JDK1.8 + MySql
- 界面采用的是
J
a
v
a
Java
S
w
i
n
g
Swing
五、部分代码
-
用户登录检查
import pers.lxm.sums.database.OperateDB; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class UserLogin extends OperateDB { public User Login(User user){ String sql="select * from users where user=? and password=? and property=?"; //第一个问号占位符为1,第二个问好占位符为2 User userResult = null; //打开数据库,返回用户信息 try { PreparedStatement preparedStatement = connection.prepareStatement(sql); //把SQL语句传给数据库操作对象 //指定占位符的内容 preparedStatement.setString(1, user.getUser()); preparedStatement.setString(2, user.getPassword()); preparedStatement.setString(3, user.getProperty()); ResultSet executeQuery = preparedStatement.executeQuery(); //执行结果 if (executeQuery.next()){ //不为空 userResult=new User(); userResult.setUser(executeQuery.getString("user")); userResult.setPassword(executeQuery.getString("password")); userResult.setName(executeQuery.getString("name")); userResult.setState(executeQuery.getString("state")); userResult.setUserType(executeQuery.getString("type")); userResult.setProperty(executeQuery.getString("property")); userResult.setNotice(executeQuery.getString("notice")); userResult.setContent(executeQuery.getString("content")); return userResult; } }catch (SQLException e){ e.printStackTrace(); } //关闭数据库 try{ connection.close(); }catch (SQLException e){ e.printStackTrace(); } return userResult; } }
-
信息修改
import pers.lxm.sums.database.OperateDB; import pers.lxm.sums.login.User; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class RemoveMember extends OperateDB { public RemoveMember(){} //检查用户原有信息是否正确 public boolean checkMemberInformation(User user){ String sql="select * from users where user=? and property=? and type=? and state=?"; //打开数据库,返回用户信息 try { PreparedStatement preparedStatement = connection.prepareStatement(sql); //把SQL语句传给数据库操作对象 //指定占位符的内容 preparedStatement.setString(1, user.getUser()); preparedStatement.setString(2, user.getProperty()); preparedStatement.setString(3, user.getUserType()); preparedStatement.setString(4,user.getState()); ResultSet executeQuery = preparedStatement.executeQuery(); //执行结果 if (executeQuery.next()) //不为空 return true; }catch (SQLException e){ e.printStackTrace(); } //关闭数据库 try{ connection.close(); }catch (SQLException e){ e.printStackTrace(); } return false; } //尝试修改成员信息 public boolean tryRemoveMember(User user){ String sql="update users set state=?,property=?,type=? where user=?"; try { PreparedStatement preparedStatement=connection.prepareStatement(sql); preparedStatement.setString(1,user.getState()); preparedStatement.setString(2,user.getProperty()); preparedStatement.setString(3,user.getUserType()); preparedStatement.setString(4,user.getUser()); int executeUpdate = preparedStatement.executeUpdate(); //执行结果 if (executeUpdate==1) return true; } catch (SQLException e) { e.printStackTrace(); } //关闭数据库 try{ connection.close(); }catch (SQLException e){ e.printStackTrace(); } return false; } }
-
注销账号
import pers.lxm.sums.database.OperateDB; import pers.lxm.sums.login.LoginUI; import pers.lxm.sums.login.User; import javax.swing.*; import java.sql.PreparedStatement; import java.sql.SQLException; public class CloseAccount extends OperateDB { public boolean tryCloseAccount(User user){ if (LoginUI.administratorJurisdiction) { JOptionPane.showMessageDialog(null, "您的身份为系统管理员,账号不可注销!"); return false; } int changeEnter = -1; changeEnter = JOptionPane.showConfirmDialog(null,"注销后您将无法登录,是否继续?", "注销账号提醒",JOptionPane.YES_NO_OPTION); if (changeEnter==JOptionPane.NO_OPTION) return false; String sql="delete from users where user=?"; PreparedStatement preparedStatement = null; //把SQL语句传给数据库操作对象 try { preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, user.getUser()); int executeUpdate = preparedStatement.executeUpdate(); //执行结果 if (executeUpdate==1) return true; } catch (SQLException e) { e.printStackTrace(); } //关闭数据库 try{ connection.close(); }catch (SQLException e){ e.printStackTrace(); } return false; } }