完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx

上传人:b****1 文档编号:14972538 上传时间:2023-06-28 格式:DOCX 页数:41 大小:26.71KB
下载 相关 举报
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第1页
第1页 / 共41页
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第2页
第2页 / 共41页
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第3页
第3页 / 共41页
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第4页
第4页 / 共41页
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第5页
第5页 / 共41页
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第6页
第6页 / 共41页
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第7页
第7页 / 共41页
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第8页
第8页 / 共41页
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第9页
第9页 / 共41页
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第10页
第10页 / 共41页
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第11页
第11页 / 共41页
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第12页
第12页 / 共41页
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第13页
第13页 / 共41页
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第14页
第14页 / 共41页
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第15页
第15页 / 共41页
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第16页
第16页 / 共41页
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第17页
第17页 / 共41页
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第18页
第18页 / 共41页
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第19页
第19页 / 共41页
完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx_第20页
第20页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx

《完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx》由会员分享,可在线阅读,更多相关《完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx(41页珍藏版)》请在冰点文库上搜索。

完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文.docx

完整版JAVA课程设计基于mysql的学生信息管理系统毕业论文

1.目录

概述3

一、课题介绍3

二、目的和要求3

三、任务计划3

需求分析5

一、学生管理系统的发展现状5

二、系统功能分析5

三、系统结构框图5

数据库设计7

一、创建数据表的结构7

二、各表功能及其关系7

系统模块功能的实现与界面设计8

一、系统主要模块8

二、欢迎界面9

三、主菜单界面9

四、子菜单10

五、学生信息录入11

六、学生信息查找12

七、学生信息删除13

八、学生信息修改14

课程设计心得15

一、程序结构设计培养15

二、书写习惯养成15

三、注意程序简洁15

总结16

参考文献17

附录:

项目源代码18

一、数据库连接(DbConnection.java)18

二、学生信息数据库管理(Student_Dao.java)18

三、欢迎界面(Welcome.java)23

四、主菜单界面(Menu.java)24

五、子菜单界面(Son_Menu.java)27

六、添加功能(Add_Menu.java)31

七、查找功能(Find_Menu.java)34

八、删除功能(Delet_Menu.java)36

九、修改功能(Change_Menu.java)38

概述

一、课题介绍

本次课程设计要求实现一个面向学生信息的管理系统。

学生信息系统是一个非常通用的管理系统。

很多大、中、小学校都需要拥有自己的学生档案管理系统,以便对本校学生的基本信息和学习情况进行管理,另一方面,较完整的学校信息管理系统同样也需要有学生信息管理系统的支持。

由通用的学生相关数据分析可知,系统包括院系管理、学生基本信息管理、课程管理、学生从成绩管理等主要功能。

该系统要求使用JAVA和MySQL作为开发工具和数据库管理系统,因此,系统设计涉及系统功能设计、数据库设计和系统界面等几个方面内容。

二、目的和要求

2.了解JAVA语言的特点及使用的范围,掌握开发软件平台的搭建。

3.要求使用JAVA和MySQL开发一个学生信息管理系统,系统主要功能如下:

1)院系信息管理

院系系统信息的录入,包括院系编号、院系名称等信息;

院系信息的修改、删除、查询。

2)学生基本信息管理

学生基本信息的录入,包括学号、姓名、性别、出生日期、所在院系、班级等信息;

学生基本信息的修改、删除、查询。

3)课程设置管理

课程信息的录入,包括课程编号、课程名称、学分、课程内容等信息;

课程信息的修改、删除、查询。

4)学生成绩管理

学生成绩的录入,包括课程编号、课程名称、学分、课程内容等信息;

学生信息的修改、删除、查询。

三、任务计划

考虑到本次课程设计是独立完成,所以,不需要进行细致的分工,只要对框架和时间进行一定的规划就行。

时间

计划

执行结果

1

12月13日

查阅相关资料

准备好基础知识

查阅了JAVASwing,MySQL等方面的相关资料。

2

12月14日

进行需求分析

得到需求分析总结。

3

12月14日~21日

正式设计

完成代码设计及调试

5

12月22日

完成课程设计报告

整理文件,并完成书面报告

需求分析

四、学生管理系统的发展现状

经过了一段时间的发展,当今,各大高校普遍都有了相对完善的学生管理系统,但在部分中小学中,这种高效的管理手段,仍未能全面普及。

目前已有的学生管理系统存在界面和操作相对繁琐,实现成本较高等缺点,仍需改进。

五、系统功能分析

由通用的学生相关数据分析可知,系统包括院系管理、学生基本信息管理、课程管理、学生从成绩管理等主要功能。

实现以上各模块的功能,需要以下子功能:

1数据库连接的建立与断开

2数据库的数据操作,包括插入、查询、删除、修改

4.系统操作界面与数据库操作相关联

六、系统结构框图

从系统功能表述可以看出,该系统可以实现几个功能,根据这些功能设计出系统的功能模块如图表1所示:

数据库设计

七、创建数据表的结构

(以学生基本信息管理系统为例)

5.主要数据项

学号、姓名、性别、出生年月、所在院系、所在班级

6.数据类型及要求

为操作方便,均定义为字符串。

其中学号不得重复。

7.MySQL建表语句

八、各表功能及其关系

8.本系统各表分别存储相应数据。

9.涉及的数据表之间相对独立,但仍有少量关联。

5)学生成绩表包含对学生基本信息表和课程设置表的映射

6)学生基本信息表包含对院系信息表的映射

系统模块功能的实现与界面设计

九、系统主要模块

本次课程设计的主要目的,是通过实践,让我对所学到的知识进行考验和巩固。

经过一点时间的了解。

设计出了系统的总体框架,参看图表1。

由于各模块的功能及原理基本相同,只是涉及的数据类型有所不同,所以本次只对学生基本信息管理的功能进行了较为全面的设计。

由于时间关系,其余功能没有进行具体设计。

(具体的在以下说明中会提及)

系统界面设计如下:

模块名称

相关的类

登录界面

welcome.class

菜单界面

Menu.class

数据库管理模块:

模块名称

相关的类

数据库链接

DbConnection.class

学生信息数据库管理

StudentDao.class

院系信息数据库管理

DepartDao.class

课程信息数据库管理

CourseDao.class

成绩信息数据库管理

ScoreDao.class

模块功能界面设计如下:

模块名称

相关的类

子菜单

Son_Menu.class

添加功能

Add_Menu.class

查询功能

Find_Menu.class

删除功能

Delet_Menu.class

修改功能

Change_Menu.class

十、欢迎界面

10.实际运行效果(图表2)

11.实现方法

7)继承了JPanel,并在构造函数中建立JFrame做外框;

8)用JLabel显示欢迎信息内容;

9)确定按钮在监听到事件后,new出一个Menu类;

十一、主菜单界面

12.实际运行效果(图表3)

13.实现方法

10)继承JFrame类,在内部建立的JPanel插入JButton;

11)定义相应按钮的响应事件,调用子菜单的不同建立函数(如newSon_menu().studentmenu(););

十二、子菜单

14.实际运行效果(图表4)

15.实现方法

12)建立JFrame,JTable,JButton等工具;

13)建立数据库链接;

14)将数据库里的数据逐个读入到JTable类;

15)对JButton加入ActionListener,并关联相应的功能菜单,如:

十三、学生信息录入

16.实际运行效果(图表5)

实现方法

16)由输入的学生信息构造一个Student类;

17)利用SQL语句,将Student类插入到数据库;

十四、学生信息查找

1.实际运行效果(图标6)

实现方法

1)由输入的学号,利用SQL语句找到相关数据,返回一个Student类;

2)有则将student的相关信息显示到JTextArea上,没有则显示“学生信息未找到”;

十五、学生信息删除

17.实际运行效果(图表7)

18.实现方法

18)应用查找功能相似的原理先搜索到要删除的信息;

19)利用SQL语句将找到的信息删除,并显示“学生信息以删除”。

十六、学生信息修改

19.实际运行效果

20.实现方法

20)应用查找功能相似的原理先搜索到要修改的信息;

21)应用删除功能相似的原理删除要修改的信息;

22)调用录入类,录入要修改的新信息;

课程设计心得

十七、程序结构设计思路培养

为了简化程序,我并没有为每个窗口都建一个类,而是把类似的窗口例如student_add,depart_add等建一个类Add_Menu,调用不同的函数建立不同窗口,如:

student_add(),depart_add();

十八、书写习惯的养成

好的书写习惯是一个优秀程序员的必备品质。

在写代码的时候要随时注意书写的格式。

如:

1.赋值语句的“=”的左右应该用空格隔开;

a=1;

改为

a=1;

这样更为清晰;

2.大括号一定要对齐;

class{

……

publicvoid…..{

…….

}

}

十九、注意程序简洁

在逐渐适应面向对象编程以后。

依然应道保持过去在编程中的一些好习惯。

使用Vector等,也需要留意效率。

不能只顾用法方便。

总结

系统设计过程中,主要涉及了包括JAVA基本语法、AWT,JavaSwing,MySQL等方面的相关知识。

设计中遇到不少问题,到图书馆查阅了不少资料,向王宋君老师请教过不少问题,老师都一一细心解答,非常感谢。

由于时间仓促,原本设想的功能还没有一一实现,待进一步完善。

参考文献

21.《ThinkinginJava(Java编程思想)》第四版,机械工业出版社,【美】BruceEckel著,陈昊鹏译;

22.《精通JavaSwing程序设计》中国铁道出版社,林智扬、范明翔、陈锦辉编著;

23.《深入浅出JavaSwing程序设计》中国铁道出版社,林智扬、范明翔、陈锦辉编著;

24.《JavaGUI程序设计》清华大学出版社,肖刚等编著;

25.《Java信息系统设计与开发实例》机械工业出版社,黄明、梁旭、曹利超编著;

26.《Java范例大全》机械工业出版社,尹继平、张帆编著;

附录:

项目源代码

二十、数据库连接(DbConnection.java)

packagedao;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.SQLException;

publicclassDbConnection{

publicstaticConnectiongetConnection(){

Connectioncon=null;

Stringurl="jdbc:

mysql:

localhost:

3306java";

StringuserName="root";

Stringpassword="l057788y";

try{

Class.forName("com.mysql.jdbc.Driver");

con=DriverManager.getConnection(url,userName,password);

System.out.println("数据库连接成功");

}catch(ClassNotFoundExceptione){

TODOAuto-generatedcatchblock

e.printStackTrace();

returnnull;

}catch(SQLExceptione){

TODOAuto-generatedcatchblock

e.printStackTrace();

}

returncon;

}

publicstaticvoidcloseConnection(Connectioncon){

if(con!

=null){

try{

con.close();

con=null;

}catch(SQLExceptione){

TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

publicstaticvoidmain(Stringargs[]){

getConnection();

}

}

}

二十一、学生信息数据库管理(Student_Dao.java)

packagedao;

importjava.sql.Connection;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

importjava.util.ArrayList;

importmodel.Depart;

importmodel.Student;

publicclassStudentDao{

publicbooleanaddInfo(Studentstudent){

booleanflag;

Connectioncon=DbConnection.getConnection();

PreparedStatementps;

Stringsql="";

ResultSetrs;

try{

sql="insertintostudentvalues(?

?

?

?

?

?

)";用问号代替

ps=con.prepareStatement(sql);

ps.setInt(1,student.getId());

ps.setString(2,student.getName());

ps.setString(3,student.getSex());

ps.setString(4,student.getBorn_date());

ps.setString(5,student.getDepart_id());

ps.setString(6,student.getClass_name());

ps.execute();

System.out.println("添加了一条记录");

flag=true;

}catch(SQLExceptione){

TODOAuto-generatedcatchblock

e.printStackTrace();

flag=false;

}finally{

DbConnection.closeConnection(con);

}

returnflag;

}

publicArrayListfindAll(){

ArrayListstudents=newArrayList();

Connectioncon=DbConnection.getConnection();

Statementsta;

ResultSetrs;

try{

sta=con.createStatement();

rs=sta.executeQuery("SELECT*FROMstudent");从表depart中查询所有数据

while(rs.next()){

Studentstudent=newStudent();

student.setId(rs.getInt

(1));

student.setName(rs.getString

(2));

student.setSex(rs.getString(3));

student.setBorn_date(rs.getString(4));

student.setDepart_id(rs.getString(5));

student.setClass_name(rs.getString(6));

System.out.println(student.getName());

students.add(student);

}

rs.close();

sta.close();

}catch(SQLExceptione){

TODOAuto-generatedcatchblock

e.printStackTrace();

}finally{

DbConnection.closeConnection(con);

}

returnstudents;

}

publicStudentfindOne(intid){

Studentstudent=newStudent();

Connectioncon=DbConnection.getConnection();

PreparedStatementps;

Stringsql="";

ResultSetrs;

try{

sql="SELECT*FROMstudentwhereid=?

";

ps=con.prepareStatement(sql);

ps.setInt(1,id);

rs=ps.executeQuery();从表depart中查询所有数据

if(rs.next()){

student.setId(rs.getInt("id"));注意数据类型要对应

student.setName(rs.getString("Name"));

student.setSex(rs.getString("Sex"));

student.setBorn_date(rs.getString("birthday"));

student.setDepart_id(rs.getString("Depart"));

student.setClass_name(rs.getString("Class"));

System.out.println("id:

"+student.getId()+"name:

"+student.getName());

}else{

System.out.println("没有数据");

}

rs.close();

ps.close();

}catch(SQLExceptione){

TODOAuto-generatedcatchblock

e.printStackTrace();

}finally{

DbConnection.closeConnection(con);

}

returnstudent;

}

publicbooleandeleteInfo(Studentstudent){

booleanflag;

Connectioncon=DbConnection.getConnection();

PreparedStatementps;

Stringsql="";

try{

sql="deletefromstudentwhereid=?

";用问号代替

ps=con.prepareStatement(sql);

ps.setInt(1,student.getId());

ps.execute();

System.out.println("成功删除了一条记录");

flag=true;

}catch(SQLExceptione){

TODOAuto-generatedcatchblock

e.printStackTrace();

flag=false;

}finally{

DbConnection.closeConnection(con);

}

returnflag;

}

}

二十二、欢迎界面(Welcome.java)

packagemenu;

importjava.awt.BorderLayout;

importjava.awt.Font;

importjava.awt.GridLayout;

importjava.awt.event.MouseAdapter;

importjava.awt.event.MouseEvent;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

importjavax.swing.*;

publicclassWelcome{

JFramew=newJFrame("managementsystem");

JPanelp1=newJPanel();

JPanelp2=newJPanel();

JLabell=newJLabel("欢迎进入学生信息管理系统!

");

JButtonb=newJButton("确定");

Welcome(){

w.addWindowListener(newWind());

b.addMouseListener(newMonitor2());

Fontfont=newFont("欢迎进入学生信息管理系统!

",Font.PLAIN,40);

l.setFont(font);

w.add(p1,BorderLayout.CENTER);

w.add(p2,BorderLayout.SOUTH);

p1.add(l);

l.setBounds(p1.WIDTH2-100,p1.HEIGHT);

p2.add(b);

b.setBounds(p2.WIDTH2-10,p2.HEIGHT);

w.setBounds(400,200,600,200);

w.setVisible(true);

}

privateclassMonitor2extendsMouseAdapter{

publicvoidmousePressed(MouseEvente){

newMenu();

w.setVisible(false);

}

}

publicstaticvoidmain(Stringargs[]){

newWelcome();

}

privateclassWindextendsWindowAdapter{

publicvoidwindowClosing(WindowEvente){

w.setVisible(false);

System.exit(0);

}

}

}

二十三、

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2