JAVA课程设计基于mysql的学生信息管理系统文档格式.docx

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

JAVA课程设计基于mysql的学生信息管理系统文档格式.docx

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

JAVA课程设计基于mysql的学生信息管理系统文档格式.docx

一、课题介绍

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

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

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

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

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

二、目的和要求

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

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

1)院系信息管理

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

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

2)学生基本信息管理

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

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

3)课程设置管理

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

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

4)学生成绩管理

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

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

三、任务计划

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

时间

计划

执行结果

1

12月13日

查阅相关资料

准备好基础知识

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

2

12月14日

进行需求分析

得到需求分析总结。

3

12月14日~21日

正式设计

完成代码设计及调试

5

12月22日

完成课程设计报告

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

需求分析

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

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

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

五、系统功能分析

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

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

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

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

六、系统结构框图

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

图表1学生信息管理系统功能模块图

数据库设计

七、创建数据表的结构

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

4.主要数据项

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

5.数据类型及要求

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

其中学号不得重复。

6.

createtablestudent(

idINT(11)PRIMARYKEYNOTNULLUNIQUE,

nameVARCHAR(20),

sexCHAR

(1),

birthdayVARCHAR(20),

departVARCHAR(20),

classVARCHAR(20)

);

MySQL建表语句

八、各表功能及其关系

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

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

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

一十、欢迎界面

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

10.

图表2欢迎界面

实现方法

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

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

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

一十一、主菜单界面

11.

实际运行效果(图表3)

12.实现方法

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

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

);

 

图表3主菜单界面

一十二、

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

图表4子菜单

14.实现方法

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

13)建立数据库链接;

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

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

一十三、学生信息录入

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

图表5录入学生信息

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

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

一十四、学生信息查找

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

图表6查找学生信息

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

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

一十五、学生信息删除

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

图表7学生信息删除

17.实现方法

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

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

一十六、学生信息修改

18.实际运行效果

图表8学生信息修改

19.实现方法

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等方面的相关知识。

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

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

参考文献

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

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

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

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

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

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

项目源代码

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

packagedao;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.SQLException;

publicclassDbConnection{

publicstaticConnectiongetConnection(){

Connectioncon=null;

Stringurl="

jdbc:

mysql:

//localhost:

3306/java"

;

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){

}

returncon;

}

publicstaticvoidcloseConnection(Connectioncon){

if(con!

=null){

try{

con.close();

con=null;

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

publicstaticvoidmain(Stringargs[]){

getConnection();

}

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

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.Statement;

importjava.util.ArrayList;

importmodel.Depart;

importmodel.Student;

publicclassStudentDao{

publicbooleanaddInfo(Studentstudent){

booleanflag;

Connectioncon=DbConnection.getConnection();

PreparedStatementps;

Stringsql="

"

//ResultSetrs;

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();

添加了一条记录"

flag=true;

flag=false;

}finally{

DbConnection.closeConnection(con);

returnflag;

publicArrayList<

Student>

findAll(){

ArrayList<

students=newArrayList<

();

Statementsta;

ResultSetrs;

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();

returnstudents;

publicStudentfindOne(intid){

Studentstudent=newStudent();

SELECT*FROMstudentwhereid=?

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{

没有数据"

ps.close();

returnstudent;

publicbooleandeleteInfo(Studentstudent){

deletefromstudentwhereid=?

成功删除了一条记录"

二十二、欢迎界面(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.WIDTH/2-100,p1.HEIGHT/2-10,200,20);

p2

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

当前位置:首页 > 解决方案 > 学习计划

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

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