java课程设计学生信息管理系统Word格式.docx
- 文档编号:17499010
- 上传时间:2022-12-06
- 格式:DOCX
- 页数:33
- 大小:422.51KB
java课程设计学生信息管理系统Word格式.docx
《java课程设计学生信息管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《java课程设计学生信息管理系统Word格式.docx(33页珍藏版)》请在冰豆网上搜索。
在查找学生成绩信息时,只能依据学生姓名和学号进行查找。
在修改功能里面,包括对学生基本信息表和学生成绩表进行增加和删除记录
学生方面:
学生通过自己的用户名和密码登录此系统后,可以查询自己本学期的各科成绩信息
3.2系统模块结构图
3.3数据库结构设计
为了支持此学生信息管理系统,创建数据库studentmanage。
在这个数据库中包含四个表:
student表,teacher表,studentlogin表和score表。
截图如下:
在student(学生基本信息)表中,有五个属性列,分别为:
num(学号),sname(学生姓名姓名),sex(性别),age(年龄),dept(系别)。
其基本数据类型分别为:
int,char,char,int,char。
当查询学生基本信息时,从此表中获取数据。
在teacher(教师登陆)表中,有两个属性列,分别为:
tname(教师姓名),password(登录密码)。
char,char。
当教师用户登陆此系统时,从该表获取数据。
在studentlogin(学生登录)表中,有两个属性列,分别为:
sname(学生姓名),password(登录密码)。
当学生用户登陆此系统时,从该表获取数据。
在score(学生成绩)表中,有五个属性列,分别为:
num(学号),sname(学生姓名),course(课程名称),score(考试成绩),credit(学分)。
int,char,char,int,int。
当查询学生成绩信息时,从此表获取数据。
3.4模块设计
总主界面登陆后,可以选择用户,是学生用户或者教师用户。
如果选择学生用户,则进入学生登录界面,在这个界面上输入学生姓名和用户密码。
输入后单击“成绩查询”按钮,若密码正确,这显示该学生本人本学期成绩,若密码不正确,这提示密码错误。
如果选择教师用户,则进入教师登陆界面,在这个界面上输入教师姓名和用户密码,输入后单击“登录”按钮,则进入教师主界面。
在教师主界面可以选择进行查询操作还是修改操作。
在查询操作中包含查询学生基本信息和查询学生成绩信息。
若要查询学生基本信息,点击菜单项则进入学生基本信息检索界面,在此界面的检索方式中选择要检索的数据属性,在检索内容框中输入检索的具体信息,例如,检索“姓名”字段时,要键入某个学生姓名。
输入后,单击“检索”按钮,则开始数据库查询。
如果数据库检索到所需信息,这生成列表显示检索结构,如果没有所需信息,则列表中的内容为空。
若要查询学生成绩信息,则点击学生成绩查询菜单项,进入成绩查询界面。
在此界面的文本框中输入要查询成绩的学生姓名,然后单击检索按钮。
若数据库中有此学生的成绩信息,则生成列表显示成绩信息,若没有此记录,则列表内容为空。
如果教师要进行修改操作,则在教师主界面上选择修改菜单项,在此项中,选择要修改的具体内容,总共有四项修改操作:
增加新生信息,删除毕业生信息(这两个是对学生基本信息表的操作),增加成绩信息,删除成绩信息(这两个是对学生成绩信息表的操作)。
在增加信息操作中,按照标签提示一次输入要增添的记录值,输入完毕后,单击“添加”按钮,若输入成功,则提示成功,若输入失败,则提示失败。
在删除信息操作中,输入要删除信息的学生姓名,单击“删除”按钮,若删除成功,则提示成功,若删除失败则提示失败。
以上就是该学生信息管理系统的操作步骤。
3.5系统流程描述
四、系统实现
本系统保存在studentmanage包里
其中包含四个包:
connection包,dao包,model包,ui包
包中的类:
(1)DBconnection类:
此类设置程序与数据库的连接,通过设置驱动类型和数据源来确定要连接的数据库。
若连接成功,提示:
connectionsuccess,若连接失败,提示:
connectionfailure
DBconnection类源代码:
packageconnection;
importclassDBConnection{
publicstaticConnectioncon=null;
publicstaticConnectiongetConnection()
{
try{
StringdbDriver="
"
;
(dbDriver);
"
DriverSuceess"
);
}catch(ClassNotFoundExceptione){
Drivernotfound"
();
}
con=("
jdbc:
age"
"
root"
ConnectionSuceess"
}catch(SQLExceptione){
Connetionfailure"
returncon;
}
publicstaticvoidcloseConnection()
if(con!
=null)
databaseclosesuccess"
closefailure"
}
(1)StudentDao类:
此类中有四个方法,studentLogin,addStudent,deleteStudent,queryStuden,作用分别是控制学生登陆,增加学生基本信息,查询学生基本信息,删除学生基本信息。
studentLogin()方法中,有两个参数,分别传给select语句中的sname(学生姓名)和password(登录密码),利用select语句在studentlogin表中检索学生登录信息。
若存在此信息,返回true,否则返回false
addStudent()方法中,有五个参数,分别传给insert语句中的num(学号),sname(学生姓名),age(年龄),sex(性别)和dept(系别),利用insert语句向student学生基本信息表中插入学生记录。
若插入成功,返回true,否则返回false
deleteStudent()方法中,有一个参数,传给delete语句中的sname(学生姓名),利用delete语句,把student表中相关学生信息删除。
若删除成功,返回true,否则返回false
queryStuden()方法中,有两个参数,分别传给select语句中的field(查找方式)和key(查找内容),利用select语句,从student表中检索学生基本信息。
若存在此信息,则返回一个ArrayList类的对象lis(表格),否则,异常处理
StudentDao类源代码:
packagedao;
import;
import;
publicclassStudentDao{
publicbooleanstudentLogin(Stringsname,Stringpassword){
DBConnectiondb=newDBConnection();
Connectioncon=();
booleanisfound=false;
PreparedStatementpst;
pst=("
select*fromstudentloginwheresname=andpassword="
(1,sname);
(2,password);
ResultSetrs=();
if())
isfound=true;
}
returnisfound;
publicbooleanaddStudent(intnum,Stringsname,Stringsex,intage,
Stringdept){
Connectioncon=();
insertintostudentvalues(,,,,)"
(1,num);
(2,sname);
(3,sex);
(4,age);
(5,dept);
intcount=();
etString(3),(4),(5));
(student);
}
returnlis;
publicbooleandeleteStudent(Stringkey){
Statementstm;
stm=();
Stringsql="
deletefromstudentwheresnamelike'
%"
+key+"
%'
"
intcount=(sql);
if(count==1)
returntrue;
else
returnfalse;
returnfalse;
(2)TeacherDao类:
此类中有一个方法:
queryTeacher,作用是控制教师登陆
queryTeacher()方法中,有两个参数,分别传给select语句中的tname(教师姓名)和password(登陆密码),利用select语句在teacher表中检索教师登陆信息。
TeacherDao类源代码:
publicclassTeacherDao{
publicbooleanqueryTeacher(Stringtname,Stringpassword){
select*fromteacherwheretname=andpassword="
(1,tname);
publicstaticvoidmain(String[]args){
(3)ScoreDao类:
此类中有四个方法,queryScore,queryScore1,addScore,deleteScor
作用分别是为教师用户提供查询学生成绩信息功能,为学生用户提供
询本人成绩信息功能,添加成绩信息,删除成绩信息。
queryScore()方法中,有一个参数,传给select语句中的sname(学生姓名),利用select语句,查询学生成绩信息表中的内容。
若查询成功,则返回一个ArrayList类的对象lis(表格),否则,异常处理
queryScore1()方法中,有一个参数,传给传给select语句中的sname(学生姓名),这个sname的学生用户登录时输入的姓名。
即此类的作用是每个学生登陆只能查看本人成绩。
addScore()方法中,有五个参数,分别传给insert语句中的num(学号),sname(学生姓名),course(课程名称),score(成绩),credit(学分)。
利用insert语句,将这些记录写入score表中。
若插入成功返回true,否则返回false
deleteScore()方法中,有一个参数,传给delete语句中的sname(学生姓名),利用delete语句,把score表中相关学生信息删除。
若删除成功,返回true,否则返回false
ScoreDao类源代码:
packagedao;
publicclassScoreDao{
publicArrayListqueryScore(Stringkey){
ArrayListlis=newArrayList();
select*fromscorewheresnamelike'
+key
+"
ResultSetrs=(sql);
while()){
Scorescore=newScore
(1),
(2),rs
.getString(3),(4),(5));
(score);
publicArrayListqueryScore1(Stringkey){
+
publicbooleanaddScore(intnum,Stringsname,Stringcourse,intscore,
intcredit){
insertintoscorevalues(,,,,)"
(3,course);
(4,score);
(5,credit);
import.*;
publicclassLoginUIextendsJFrame{
JLabell1;
JButtonbt1,bt2;
Containercp;
publicLoginUI(){
l1=newJLabel("
请选择用户类型"
bt1=newJButton("
教师"
bt2=newJButton("
学生"
JPanelp1=newJPanel();
(null);
(150,150,120,40);
(l1);
(120,230,80,30);
(bt1);
(220,230,80,30);
(bt2);
(newTeacherLoginActionListener());
publicclassStudentLoginUIextendsJFrame{
JLabell1,l2;
JTextFieldt1;
JPasswordFieldt2;
publicstaticStringst1;
publicStringst2;
publicStudentLoginUI(){
学生姓名"
l2=newJLabel("
密码"
t1=newJTextField(12);
t2=newJPasswordField(12);
成绩查询"
退出"
(150,150,80,40);
(250,150,80,30);
(t1);
(150,190,80,40);
(l2);
(250,190,80,30);
(t2);
(150,230,120,30);
(280,230,80,30);
(newLoginActionListener());
publicclassStudentScoreUIextendsJFrame{
Stringaa=;
JLabelselectionLabel;
JPaneltopPanel;
Containercontainer;
JTabletable;
JScrollPanebookScrollPane;
JPanelbottomPanel;
publicStudentScoreUI(){
container=();
selectionLabel=newJLabel(aa+"
同学本学期成绩如下"
topPanel=newJPanel();
(newFlowLayout);
(selectionLabel);
topPanel);
table=newJTable();
bookScrollPane=newJScrollPane(table);
bookScrollPane);
bottomPanel=newJPanel();
bottomPanel);
("
学生成绩查询"
(600,450);
(true);
ScoreDaooneScore=newScoreDao();
ArrayListlis=(aa);
Vector<
String>
head=newVector();
学号"
姓名"
学科"
成绩"
学分"
Vector>
content=newVector();
for(inti=0;
i<
();
i++){
Vectorrow=newVector();
ScoreoneScore1=(Score)(i);
());
(row);
DefaultTableModelmodel=newDefaultTableModel(content,head);
(model);
repaint();
执行截图如下:
(4)TeacherLoginUI类:
此类为教师登陆界面,在这个界面上有两个文本框,分别输入教师姓名和登录密码,还有两个按钮,登陆和退出。
输入后,从两个文本框中获取用户输入的内容,点击“登陆”按钮时,调用TeacherDao类中的queryTeacher()方法验证是否存在该用户。
若存在创建TeacherMainUI类的对象,即打开教师主界面,若不存在,则提示密码错误。
TeacherLoginUI类源代码:
packageui;
publicclassTeacherLoginUIextendsJFrame{
JLabell1,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 学生 信息管理 系统