Eclipse+Java+Swing实现学校教务管理系统(上)

简介: Eclipse+Java+Swing实现学校教务管理系统

一、系统介绍


本系统实现的以下功能


登录功能:教务人员登录、注销;教师登录、注销;学生登录,注销。


教务人员功能:对学生成绩的查看、修改,学生信息的增删改查,教师信息的增删改查,


教务人员的增删,排课信息的增删改查,课程信息的增删改查,班级信息的增删改查;


教师模块功能:发布学生成绩,查看个人信息,修改密码;


学生模块功能:选择课程,查看个人信息,修改密码,查询成绩,查看已选课程。


JDK版本:1.8


数据库:Mysql8.0.13


二、系统展示


1.登录页


20210109210653973.jpg


2.主页面-教务人员


20210109210725785.jpg


3.学生成绩管理-教务人员


20210109210807742.jpg


4.学生信息管理-教务人员


20210109210845571.jpg


5.教师信息管理-教务人员


20210109210922808.jpg


6.教务人员信息管理-教务人员


20210109210956672.jpg


7.排课信息管理-教务人员


20210109211115263.jpg


8.课程信息管理-教务人员


20210109211142657.jpg


9.班级信息管理-教务人员


20210109211256956.jpg


10.关于系统-教务人员


20210109211327497.jpg


11.主页面-教师模块


20210109211344766.jpg


12.学生成绩发布-教师模块


20210109211432198.jpg


13.个人信息查看-教师模块


20210109211508524.jpg


14.密码修改-教师模块


20210109211541197.jpg


15.主页面-学生模块


20210109211635121.jpg


16.课程选择-学生模块


20210109211646358.jpg


17.个人信息查看-学生模块


20210109211702209.jpg


18.密码修改-学生模块


20210109211713963.jpg


19.成绩查看-学生模块


20210109211723669.jpg


20.已选课程查看-学生模块


202101092117337.jpg


三、系统实现


IUserInfoDAO.java

package com.sjsq.dao;
import java.util.List;
import com.sjsq.entity.UserInfo;
/**
 * 
 * @author HZBIN1993
 * 
 * @author shuijianshiqing
 * 
 * @date 2021-01-09
 *
 */
public interface IUserInfoDAO {
  /**
   * 数据库的增加
   * 
   * @param user
   * @return
   */
  public boolean doCreate(UserInfo user) throws Exception;
  /**
   * 修改用户
   * 
   * @param user
   * @return
   * @throws Exception
   */
  public boolean doUpdate(UserInfo user) throws Exception;
  /**
   * 
   * 删除用户
   * 
   * @param user
   * @return
   * @throws Exception
   */
  public boolean doDelete(String username) throws Exception;
  /**
   * 数据库查询操作
   * 
   * @param id
   * @return
   * @throws Exception
   */
  public UserInfo findById(String id) throws Exception;
  /**
   * 做查询操作
   * 
   * @param id
   * @return
   * @throws Exception
   */
  public List<UserInfo> findAll(String keyword) throws Exception;
}

UserInfoDaoImpI.java

package com.sjsq.dao.ImpI;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.sjsq.dao.IUserInfoDAO;
import com.sjsq.entity.UserInfo;
public class UserInfoDaoImpI implements IUserInfoDAO {
  private Connection conn = null;
  public UserInfoDaoImpI(Connection conn) {
    this.conn = conn;
  }
  @Override
  public boolean doCreate(UserInfo user) throws Exception {
    // Auto-generated method stub
    // 增加信息
    boolean flag = false;
    PreparedStatement pstmt = null;
    String sql = "INSERT INTO UserInfo_tab(userName ,NickName,UserPass,grade)VALUES(?,?,?,?)";
    try {
      pstmt = this.conn.prepareStatement(sql);
      pstmt.setString(1, user.getUserName());
      pstmt.setString(2, user.getNickName());
      pstmt.setString(3, user.getUserPass());
      pstmt.setInt(4, user.getGrade());
      if (pstmt.executeUpdate() > 0) {
        flag = true;
      }
    } catch (Exception e) {
      throw e;
    } finally {
      try {
        if (pstmt != null) {
          pstmt.close();
        }
      } catch (Exception e) {
      }
    }
    return flag;
  }
  @Override
  public boolean doUpdate(UserInfo user) throws Exception {
    // 更新用户信息
    boolean flag = false;
    PreparedStatement pstmt = null;
    String sql = "UPDATE UserInfo_tab SET UserPass=? WHERE UserName=?";
    try {
      pstmt = this.conn.prepareStatement(sql);
      pstmt.setString(1, user.getUserPass());
      pstmt.setString(2, user.getUserName());
      if (pstmt.executeUpdate() > 0) {
        flag = true;
      }
    } catch (Exception e) {
      throw e;
    } finally {
      try {
        if (pstmt != null) {
          pstmt.close();
        }
      } catch (Exception e) {
      }
    }
    return flag;
  }
  @Override
  public boolean doDelete(String username) throws Exception {
    // 删除用户信息
    boolean flag = false;
    PreparedStatement pstmt = null;
    String sql = "DELETE FROM UserInfo_tab WHERE UserName=?";
    try {
      pstmt = this.conn.prepareStatement(sql);
      pstmt.setString(1, username);
      if (pstmt.executeUpdate() > 0) {
        flag = true;
      }
    } catch (Exception e) {
      throw e;
    } finally {
      try {
        if (pstmt != null) {
          pstmt.close();
        }
      } catch (Exception e) {
      }
    }
    return flag;
  }
  @Override
  public List<UserInfo> findAll(String keyword) throws Exception {
    // 查找用户信息-关键字查找
    List<UserInfo> all = new ArrayList<UserInfo>();
    PreparedStatement pstmt = null;
    String sql = "SELECT ID,UserName,NickName,UserPass,Grade WHERE UserName LIKE ? OR NickName LIKE ?";
    try {
      pstmt = this.conn.prepareStatement(sql);
      pstmt.setString(1, "%" + keyword + "%");
      pstmt.setString(2, "%" + keyword + "%");
      ResultSet rs = pstmt.executeQuery();
      while (rs.next()) {
        UserInfo user = new UserInfo();
        user.setID(rs.getInt(1));
        user.setUserName(rs.getString(2));
        user.setNickName(rs.getString(3));
        user.setUserPass(rs.getString(4));
        user.setGrade(rs.getInt(5));
        all.add(user);
      }
      rs.close();
    } catch (Exception e) {
      throw e;
    } finally {
      try {
        if (pstmt != null) {
          pstmt.close();
        }
      } catch (Exception e) {
      }
    }
    return all;
  }
  // @Override
  public UserInfo findById(String id) throws Exception {
    // 查找用户信息-ID查找
    UserInfo user = null;
    PreparedStatement pstmt = null;
    String sql = "SELECT * FROM UserInfo_tab WHERE UserName=?";
    try {
      pstmt = this.conn.prepareStatement(sql);
      pstmt.setString(1, id);
      ResultSet rs = pstmt.executeQuery();
      while (rs.next()) {
        user = new UserInfo();
        user.setID(rs.getInt(1));
        user.setUserName(rs.getString(2));
        user.setNickName(rs.getString(3));
        user.setUserPass(rs.getString(4));
        user.setGrade(rs.getInt(5));
      }
      rs.close();
    } catch (Exception e) {
      throw e;
    } finally {
      try {
        if (pstmt != null) {
          pstmt.close();
        }
      } catch (Exception e) {
      }
    }
    return user;
  }
}


相关文章
|
10天前
|
运维 自然语言处理 供应链
Java云HIS医院管理系统源码 病案管理、医保业务、门诊、住院、电子病历编辑器
通过门诊的申请,或者直接住院登记,通过”护士工作站“分配患者,完成后,进入医生患者列表,医生对应开具”长期医嘱“和”临时医嘱“,并在电子病历中,记录病情。病人出院时,停止长期医嘱,开具出院医嘱。进入出院审核,审核医嘱与住院通过后,病人结清缴费,完成出院。
35 3
|
13天前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
16 1
|
15天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
18天前
|
移动开发 前端开发 JavaScript
java家政系统成品源码的关键特点和技术应用
家政系统成品源码是已开发完成的家政服务管理软件,支持用户注册、登录、管理个人资料,家政人员信息管理,服务项目分类,订单与预约管理,支付集成,评价与反馈,地图定位等功能。适用于各种规模的家政服务公司,采用uniapp、SpringBoot、MySQL等技术栈,确保高效管理和优质用户体验。
|
20天前
|
XML JSON 监控
告别简陋:Java日志系统的最佳实践
【10月更文挑战第19天】 在Java开发中,`System.out.println()` 是最基本的输出方法,但它在实际项目中往往被认为是不专业和不足够的。本文将探讨为什么在现代Java应用中应该避免使用 `System.out.println()`,并介绍几种更先进的日志解决方案。
44 1
|
6月前
|
Java Maven Android开发
在Eclipse里配置Maven插件
Maven是一款比较常用的Java开发拓展包,它相当于一个全自动jar包管理器,会导入用户开发时需要使用的相应jar包。使用Maven开发Java程序,可以极大提升开发者的开发效率。下面我就跟大家介绍一下如何在Eclipse里安装和配置Maven插件。
146 0
|
6月前
|
XML Java Maven
eclipse 、idea 安装activiti插件
eclipse 、idea 安装activiti插件
151 0
|
11月前
|
Java Android开发
eclipse安装SpringBoot插件的无敌办法
eclipse安装SpringBoot插件的无敌办法
126 0
|
11月前
|
Java Android开发 Spring
在 Eclipse 中安装 SpringTools 插件
在 Eclipse 中安装 SpringTools 插件
125 0
|
XML Java 应用服务中间件
Eclipse插件下载地址汇总
Eclipse插件下载地址汇总
300 0