【Java】Swing + MySql 实现一个学生会信息管理系统

软件工程课程设计作业


一、功能概述

  • 查看成员信息
  • 修改成员信息
  • 增加成员
  • 删除成员
  • 成员部门调动
  • 发布例会通知
  • 设置界面皮肤
  • 账号注册
  • 修改密码
  • 注销账号

二、数据库展示

  • 管理员信息
    在这里插入图片描述
  • 用户信息
    在这里插入图片描述

三、功能展示

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

四、开发说明

  • 开发环境

    I

    D

    E

    A

    +

    J

    D

    K

    1.8

    +

    M

    y

    S

    q

    l

    IDEA + JDK1.8 + MySql

    IDEA+JDK1.8+MySql
  • 界面采用的是

    J

    a

    v

    a

    Java

    Java

    S

    w

    i

    n

    g

    Swing

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



在这里插入图片描述

THE END
< <上一篇
下一篇>>