大三上学期期末总结,没错,上学期,写在下学期新学期开始,哈哈哈。

  上学期学习了面向对象程序设计,课程设计的题目使用JAVA语言完成一个简单的教务人事管理系统,能够实现访问数据库的登录验证,分别按部门和员工编号查看员工信息,增添新员工,删除离职员工,修改员工信息等功能,并且根据不同的操作准确实现对数据库的访问和相应业务逻辑的实现。

  直接徒手写一个管理系统肯定是不现实的,就算写出来了,也有很大的改进空间,索性就去读书馆查了一下,使用JAVA+Mysql+Navicat+NetBeans的综合项目书。

  原本是教务管理系统,但是写下来太庞大了,我记得包括学生信息管理,教师信息管理,成绩信息管理等等好多模块,从时间和技术上考虑,打算只写一个教务人事管理系统,能够实现访问数据库的登录验证,分别按部门和员工编号查看员工信息,增添新员工,删除离职员工,修改员工信息等功能。

  首先是安装Mysql,启动服务器后,安装图形化工具Navicat创建数据库,建表:

  包括使用者User表,属性有UserNO,UserID,UserName,UserPWD;

  教师信息表TeacherInfo,属性应该有教师编号,教师姓名,教师生日,教师性别,教师毕业院校,教师专业,教师地址,教师入职时间,教师部门,教师岗位;

  部门表DepartmentInfo,属性包括DEPARTMENTID,DEPARTMENTNAME;

然后填表。

  然后使用NetBeans编写程序,先是用户登录验证模块,了解使用DAO模式。

  再编写主窗体模块,实现按部门查询,按员工编号查询,入职新员工,员工离职,信息修改,退出管理等模块。

  最后在登录模块增加了注册账户和重置密码两个功能模块。

  其中实现了几个常用类,包括JDBCUtil类,该类实现了数据库访问的准备工作;

  User类,User类中封装了系统使用者的基本信息;

  gui窗体类,窗体类包括登录窗体(LoginFrame)、管理窗体(ManageFrame)、入职新员工窗体(AddTeacherFrame)、员工离职窗体(DelTeacherFrame)、修改信息窗体(ModifyTeacherFrame)、用户密码重置窗体(UserPasswordResetFrame)和用户注册账户窗体(UserRegisterFrame);

  InfoBean类,InfoBean类实现对教师和部门信息的封装;

  Action类,本课程设计采用MVC模式,用Action类实现了对教师和部门不同行为的封装;

  之后就是具体给对应的控件绑定事件,能够根据不同的情况,调用相应的类中的方法达到显示出不同教师信息的效果。

  如果有需要的同学可以在百度网盘中下载,其中包括使用NetBeans打开的程序,使用Navicat运行的sql文件,具体请读一下文件中的hint,预祝使用愉快。

  登录界面和操作界面效果图:

  

  另外这个课程设计还可以在码云上下载使用,点击这里

  写在最后,通过这么一个课程设计,基本了解了使用面向对象语言JAVA开发一个信息管理系统的流程,熟悉了它的基本语法,特别是熟悉了Navicat的使用,掌握了怎么搭建一个数据库,明白了JAVA操作数据库的基本原理和流程,懂得了事件处理的基本原理和流程,初步了解了DAO模式和MVC模式在软件开发中的优势。

JAVA课程设计——一个简单的教务人事管理系统的更多相关文章

  1. 【python免费代码】设计一个简单的学生信息管理系统

    文章目录 前言 一.理解 二.部分截图展示 三.代码 四.总结 前言 设计一个简单的学生信息管理系统,实现以下功能(bug) : 录入学生信息,信息以文件方式存储 以学生学号或者学生姓名为条件查询该学 ...

  2. Java课程设计 ssm电影售票选座管理系统 电影网站的网页设计与制作mysql

    注意:此项目只截图部分功能,可评论区咨询查看项目全部功能演示 1.开发环境 开发语言:Java 后台框架:SSM(Spring+SpringMVC+Mybatis) 前端技术:HTML+CSS+Jav ...

  3. Java RMI 实现一个简单的GFS(谷歌文件系统)——背景与设计篇

    目录 背景 系统设计 1. 系统功能 2. Master组件 2.1 命名空间 2.2 心跳机制 2.3 故障恢复和容错机制 3. ChunkServer组件 3.1 本地存储 3.2 内存命中机制 ...

  4. java课程设计(计算器)

    JAVA课程 设 计 报 告 1206401-18   瞿杰 一.设计时间 2013年6月 24日-----6月28日 二.设计地点 湖南城市学院实验楼计算机506机房 三.设计目的 1.巩固学习VB ...

  5. Java课程设计——博客作业教学数据分析系统(201521123084 林正晟)

    #课程设计--博客作业教学数据分析系统(201521123084 林正晟) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 学生登陆界面的前端实现和与数据库的连接 学生 ...

  6. java课程设计--We Talk(201521123061)

    java课程设计--We Talk(201521123061) 团队博客链接:http://www.cnblogs.com/slickghost/ 数据库 一.通过Dao模式建立与数据库的连接 1.数 ...

  7. Java课程设计—学生成绩管理系统(201521123005 杨雪莹)

    一.团队课程设计博客链接 学生成绩管理系统 二.个人负责模块或任务说明 学生成绩录入 显示所有学生信息 显示各科平均成绩 显示学生成绩(按降序排序) 三.自己的代码提交记录截图 四.自己负责模块或任务 ...

  8. JAVA课程设计——“小羊吃蓝莓”小游戏

    JAVA课程设计--"小羊吃蓝莓"小游戏 1. 团队课程设计博客链接 http://www.cnblogs.com/HXY071/p/7061216.html 2. 个人负责模块或 ...

  9. JAVA课程设计——团队(&个人)博客

    JAVA课程设计--团队(&个人)博客 1. 团队名称.团队成员介绍(需要有照片) 团队名称:是独立小分队啦 团队成员介绍:包梦榕 网络1513 201521123068 2. 项目git地址 ...

随机推荐

  1. C语言中结构体(struct)的几种初始化方法

    转自https://www.jb51.net/article/91456.htm     本文给大家总结的struct数据有3种初始化方法 1.顺序 2.C风格的乱序 3.C++风格的乱序 下面通过示 ...

  2. spring BeanPostProcessor

    BeanPostProcessor spring使用BeanPostProcessor接口来处理生命周期的回调 BeanPostProcessor接口定义的两个方法,分别在bean的(实例化配置和初始 ...

  3. 与http协作的web服务器--代理、网关、隧道

    一台服务器可以搭建多个web站点 代理: 接受客户端发送的请求,转发给其他服务器,然后接受服务器的返回结果(响应)再返回给客户端.每次经过代理服务器,就会追加写入via首部信息. 按两种基准分类.一种 ...

  4. HDU5813 Elegant Construction

    Elegant Construction                                                                         Time Li ...

  5. 2018/9/6 spring框架的整理

    spring知识的巩固整理AOP和ioc概念,以及了解到了为何要使用spring框架的目的,作用:变换资源获取的方向.更像是按需所求.配置bean的方式:利用XML的方式,基于注解的方式两种.1通过全 ...

  6. La nuova tecnologia del puntatore laser

    Il potente puntatore laser 20000 mW viene fornito di serie con gestione termica e driver laser di qu ...

  7. 【腾讯Bugly干货分享】经典随机Crash之二:Android消息机制

    本文作者:鲁可--腾讯SNG专项测试组 测试工程师 背景 承上经典随机Crash之一:线程安全 问题的模型 好几次灰度top1.top2 Crash发生场景:在很平常.频繁的使用页面,打开一个界面,马 ...

  8. Bitmap too larget to be uploaded into a texture的解决方法

    Bitmap too larget to be uploaded into a texture的解决方法 问题描述 使用canvas.drawBitmap()系列方法时,抛出错误Bitmap too ...

  9. C++ Opencv Mat类型使用的几个注意事项及自写函数实现Laplace图像锐化

    为了提升自己对Opencv中Mat数据类型的熟悉和掌握程度,自己尝试着写了一下Laplace图像锐化函数,一路坎坷,踩坑不断.现将代码分享如下: #include <opencv2/opencv ...

  10. 把ajax包装成promise的形式(1)

    概述 为了体验promise的原理,我打算自己把ajax包装成promise的形式.主要希望实现下列功能: // 1.使用success和error进行链式调用,并且可以在后面加上无限个 promis ...