写在最开始:此课程设计是我2021年暑假自己一行一行代码写出来的,现在免费分享给大家,如果有帮到你的话希望可以给我点个赞哦,谢谢。

如果有什么问题可以留下评论,我看到的话会回你的,但是我只能回答我的代码相关的问题,其他配置问题啥的建议多去搜索一下。


资源链接(自行选择,皆为免费):

百度网盘提取码:a5iq

下面我针对代码进行一些讲解:

1、本课程设计没有特别高大上,人机交互界面使用的Java swing的各种组件,后端就是Java和SQL server,压缩包里面我给出了SQL文件,大家下载后在SQL server直接运行就可以了,但是我不知道MySQL或者Navicat是否能够运行,建议大家搜一下,我觉得应该挺好解决的,如果想用MySQL的话。

2、下载压缩包、打开压缩包,里面会有三样东西。

mysql数据库教务管理_sqlserver

这三样东西分别是:
Eclipse的Project文件;
创建数据库的SQL代码;
课程设计报告。

注意:课程设计报告里面的内容可能和实际的代码不一致,因为我在后期的时候完善了一些功能,这个具体需要大家自己去看了,我只记得一些:
报告里只能选课,但是代码实现了退课;
查看课表的功能以前是直接弹出一张课表照片,现在是在页面上打印出课表。
我只记得这些了。

3、打开Project

以下只介绍正常步骤,默认不会出错,操作过程中遇到的问题建议去网上搜索解决方法。

File——Open Projects from File System

mysql数据库教务管理_mysql_02

点击Directory选择Project文件lin

mysql数据库教务管理_mysql_03

打开后是这个样子:

mysql数据库教务管理_java_04

我只有一个包zzdx,里面就包含了项目的所有代码,其实这种代码编写习惯是很不好的,全部代码都在一个包里会很繁琐,也很不专业,而我大二的时候其实也不懂什么MVC框架之类的,所以就都写在了一个包里。

注意:只有lf.java才能运行,其他的都是调用的。
原谅我取的名字有点奇怪,大部分都是中文首字母,比如:第二个ckcj.java,这个文件就是查看成绩的界面。

mysql数据库教务管理_mysql_05

右键lf.java——Run As——Java Application

mysql数据库教务管理_sqlserver_06

运行界面就出来了。如下:我的界面都比较朴素,大家如果有时间的话,可以去搜一下怎么把界面变得更美观。

mysql数据库教务管理_数据库_07

哦对了,所有图片文件都在包里,大家要更换的话可以在包里直接换就行。

mysql数据库教务管理_sqlserver_08

还有就是文字需要修改的可能需要在对应界面的代码里去找,比如第一个界面里的郑州大学教务系统啥的,需要在lf.java里修改。

mysql数据库教务管理_java_09

这种汉字在代码里还是挺显眼的,所以应该好改吧,对大家来说可能难的地方是需要找到对应界面对应的Java文件。

下面干脆我来解释一下各个代码表示的页面或者功能吧:(不是按照Eclipse里排列的顺序来的)

主任就相当于管理员

身份

代码名

含义

ALL

lf.java

欢迎页

ALL

welcome.java

选择身份

ALL

dl.java、test.java

输入账号密码登录,test.java用于生成验证码

ALL

zzdx.java、zzdx1.java、zzdx2.java

账号密码验证(学生、老师、主任)

ALL

success.java、success1.java、success2.java、qq.java

登陆成功后的首页(学生、老师、主任),qq.java用于生成首页的核心部分——功能选择框

ALL

error.java

账号密码有误

学生

ckkb.java

查看课表

学生

ckcj.java

查看成绩

学生

cktz.java

查看通知

学生

jsdh.java、more.java

查询老师的电话,jsdh.java是查看任课老师的电话,如果想要其他老师的电话可以在more.java里面查询

学生

xk.java

选课

学生

tuike.java

退课

学生

xgmm.java

修改密码

老师

ckkc.java

查看任课课程

老师

fbtz.java

发布通知

老师

sccj.java

上传学生成绩

主任

ckjl.java

查看老师上传成绩的记录

主任

gznx.java

更新老师工作年限(这个功能没什么用,建议删除)

主任

kskc.java

开设课程

主任

zhgl.java、xs.java、js.java、sc.java、cj.java

账户管理(增删师生账号)

4、运行SQL文件

在SQL server中
文件——打开——文件

也可以在MySQL或者Navicat中试试

mysql数据库教务管理_sqlserver_10

找到zzdx.sql,打开

mysql数据库教务管理_java_11


点击执行即可创建数据库

mysql数据库教务管理_sqlserver_12

代码中所有这样的代码都需要换成你们自己的用户名和密码,如果你们把zzdx.sql换成其他名了,那么zzdx也要换成你们改的名字,这样才能成功连接数据库。

mysql数据库教务管理_数据库_13

这个可能会花一点时间

首先用鼠标选中Class.forName

mysql数据库教务管理_mysql_14

点击:Search——Text——Project

这样Eclipse就可以帮你找到在lin Project中所有出现Class.forName的地方,然后一一修改即可,只要改好一个,后面的直接复制粘贴即可。建议先试一下能不能成功连接数据库再全部进行修改。

mysql数据库教务管理_mysql数据库教务管理_15

5、课程设计报告

我再强调一下,报告里的内容和代码实现功能有出入,但是也没有差多少,大家可以参考参考。

6、大致的界面

页面描述

图片

欢迎页

mysql数据库教务管理_java_16

身份选择

mysql数据库教务管理_java_17

输入账号密码

mysql数据库教务管理_mysql数据库教务管理_18

登陆失败

mysql数据库教务管理_sqlserver_19

学生首页

mysql数据库教务管理_java_20

查看课程(名字改为查看课程是因为我觉得把学生的课排成课表的样子很麻烦,所以这里只是简单地列了出来,以前的名字是查看课表是因为功能实现为弹出一张课表照片,不需要我人为编辑,所以大家可以把Project中的课表图片删了,因为没什么用,还有就是大家可以看到课程名字太长的话是无法全部显示的,我用的JLabel组件,大家有时间可以换成JTextField组件,可以显示全部名称)

mysql数据库教务管理_数据库_21

查看成绩(null表示老师还没有上传成绩,此时默认显示通过考试)

mysql数据库教务管理_mysql数据库教务管理_22

查看通知(每个通知都会带上老师的姓名,只有课任老师发的通知,学生才会收到,好像是这样,我有点忘了)

mysql数据库教务管理_mysql数据库教务管理_23

查询电话(首先会打印出课任老师的电话,如果需要其他老师的,可以点击更多)

mysql数据库教务管理_java_24

更多(输入名字即可查询,有这个老师就打印出来,没有就给出提示)

mysql数据库教务管理_mysql_25

选课(可以进行模糊搜索,点击课程名就可以选课了,系统会自动对比该课程与已有课程是否存在冲突,选课或者退课都不能马上把课程移出当前列表,需要退出重进才能看见已选课程不在列表中了,但是多点几次是不会出错的,这个可以放心)

mysql数据库教务管理_mysql_26

退课(点击课程编号即可退课)

mysql数据库教务管理_mysql_27

修改密码

mysql数据库教务管理_mysql数据库教务管理_28

老师首页

mysql数据库教务管理_mysql_29

查看教授的课程(和学生一样只是单纯列出来)

mysql数据库教务管理_数据库_30

发布通知(只有自己的学生才会收到这份通知)

mysql数据库教务管理_mysql_31

上传成绩(输入成绩然后点提交键,和选课一样,不能提交了某个学生的成绩该学生就从列表里移出,所以可以多次上传成绩,最后一次即为最终分数,但是上传记录都会被详细记载,主任可以查询,我们这里给庄周同学上传88分,等会看看主任能不能查看修改记录)

mysql数据库教务管理_mysql数据库教务管理_32

主任首页

mysql数据库教务管理_mysql_33

查看记录(看看有没有我们给庄周同学88分的记录,其实还是有一个问题我说一下,这里如果修改记录太多是无法全部显示的,需要定期清理record.txt文件,还有选课也是,如果可供选择的课太多也是无法全部显示的,大家有时间可以搜索一下换成什么组件可以实现下拉条,然后把这些记录信息或者课程信息放入下拉条组件里,这样就可以装下所有的内容了)

mysql数据库教务管理_mysql_34

开设课程

mysql数据库教务管理_sqlserver_35

账户管理(包括对老师学生账号的创建和删除,我懒得截图了)

mysql数据库教务管理_数据库_36

7、好了,就这样吧