您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > Java课程设计――学生通讯录管理系统
苏州科技学院电子信息实验中心面向对象技术课程设计报告--学生通讯录管理系统2016年4月一专业年级计算机科学与技术2014班级计算机1421学号1430107132姓名胡耀文成绩指导教师张宗杰1.引言1.1项目的名称学生通讯录管理系统1.2项目背景和目标学生通讯录管理系统主要对在校学生的基本信息进行管理,对教师用户提供查询信息、增添信息、删除信息等操作功能;对学生用户提供基本信息查询功能。我们的目标就是为该系统提供后台连接数据库程序设计以及前台用户界面设1.3项目的可行性研究设计此系统需要java面向对象编程基础,数据库应用知识以及功能分析。根据目前所开设的课程,学生已经具备这样的知识,有能力综合java编程知识和数据库应用知识做出一个这样的学生通讯录管理系统二、需求分析2.1系统概述此系统提供给教师用户和学生用户。教师登陆后可以对学生基本信息表进行查看、增添新记录、删除记录等操作。学生登陆后能查询自己的信息。2.2系统运行环境Java运行在eclipse软件上,数据库用mysql数据库2.3功能需求描述学生通讯录管理系统要面对教师和学生用户。对于教师,需要查询全部学生的基本信息,并且可以对其进行修改。对于学生,需要查询自己的基本信息。为了保护学生基本信息隐私,每位学生登录系统后只能查询自己的信息,而无法看到别人的信息。三、系统设计3.1开发与设计的总体思想教师方面:教师通过自己的用户名和密码登录后,进入教师主界面,在这个主界面里,可以选择要操作的类别,即查询功能还是修改功能。在查询功能里面,可以选择是查询学生基本信息。在修改功能里面,包括对学生基本信息表进行增加、删除记录。学生方面:学生通过自己的用户名和密码登录此系统后,可以查询自己的信息。3.2系统模块结构图3.3数据库结构设计学生通讯录管理系统学生登录教师登录教师操作界面查询查询修改学生基本信息添加信息删除信息退出为了支持此学生通讯录管理系统,创建数据库studencontacts。在这个数据库中包含四个表:student表,teacher表,information表。截图如下:在student表中,有两个属性列,分别为:sname(学生姓名姓名),password(登录密码)其基本数据类型分别为:char,char。当学生登录时,从此表中获取数据。截图如下:在teacher(教师登陆)表中,有两个属性列,分别为:tname(教师姓名),password(登录密码)。其基本数据类型分别为:char,char。当教师用户登陆此系统时,从该表获取数据。截图如下:在information(学生信息)表中,有五个属性列,分别为:snum(学号),sname(学生姓名),phonumber(手机号码),sex(性别),dept(系别)。其基本数据类型分别为:int,char,char,char,char。当查询学生信息时,从此表获取数据。截图如下:3.4模块设计总主界面登陆后,可以选择用户,是学生用户或者教师用户。如果选择学生用户,则进入学生登录界面,在这个界面上输入学生姓名和用户密码。输入后单击“查询”按钮,若密码正确,这显示该学生本人信息,若密码不正确,这提示密码错误。输入后单击“修改”按钮,跳转到用户修改密码界面进行修改,单击“注册”按钮,跳到用户注册页面进行注册。如果选择教师用户,则进入教师登陆界面,在这个界面上输入教师姓名和用户密码,输入后单击“登录”按钮,则进入教师主界面。在教师主界面可以选择进行查询操作还是修改操作。在查询操作中包含查询学生基本信息。若要查询学生基本信息,点击菜单项则进入学生基本信息检索界面,在此界面的检索方式中选择要检索的数据属性,在检索内容框中输入检索的具体信息,例如,检索“姓名”字段时,要键入某个学生姓名。输入后,单击“查询该生信息”按钮,则开始数据库查询。单击“浏览学生信息”按钮,则查看所有学生的信息。如果数据库检索到所需信息,这生成列表显示检索结构,如果没有所需信息,则列表中的内容为空。如果教师要进行修改操作,则在教师主界面上选择修改菜单项,在此项中,选择要修改的具体内容,总共有两项修改操作:增加新生信息,删除毕业生信息(这两个是对学生基本信息表的操作)。在增加信息操作中,按照标签提示依次输入要增添的记录值,输入完毕后,单击“添加”按钮,若输入成功,则提示成功,若输入失败,则提示失败。在删除信息操作中,输入要删除信息的学生姓名,单击“删除”按钮,若删除成功,则提示成功,若删除失败则提示失败。以上就是该学生通讯录管理系统的操作步骤。3.5系统流程描述否否是是开始登录学生登录界面教师登录提示密码错误提示密码错误查询学生信息教师主界面修改查询学生信息添加信息删除信息成功成功四、系统实现本系统保存在studentcontacts包里其中包含四个包:connection包,dao包,model包,ui包1.Connection包中的类:(1)DBconnection类:此类设置程序与数据库的连接,通过设置驱动类型和数据源来确定要连接的数据库。若连接成功,提示:connectionsuccess,若连接失败,提示:connectionfailureDBconnection类源代码:packageconnection;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;publicclassDBconnection{publicstaticConnectioncon=null;publicstaticConnectiongetConnection(){try{StringdbDriver=com.mysql.jdbc.Driver;Class.forName(dbDriver);System.out.println(DriverSuceess);}catch(ClassNotFoundExceptione){System.out.println(Drivernotfound);e.printStackTrace();}try{con=DriverManager.getConnection(jdbc:mysql://localhost/studentcontacts,root,12345);System.out.println(ConnectionSuceess);}catch(SQLExceptione){System.out.println(Connetionfailure);e.printStackTrace();}returncon;}publicstaticvoidcloseConnection(){if(con!=null)try{con.close();System.out.println(databaseclosesuccess);}catch(SQLExceptione){System.out.println(closefailure);e.printStackTrace();}}}2.Dao包中的类:(1)StudentDao类:此类中有一个方法,student,作用分别是控制学生登陆。Studentlogin()方法中,有两个参数,分别传给select语句中的sname(学生姓名)和password(登录密码),利用select语句在student表中检索学生登录信息。若存在此信息,返回true,否则返回falseStudentDao类源代码:packageDao;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.ArrayList;importconnection.DBconnection;publicclassStudentDao{publicbooleanstudent(Stringsname,Stringpassword){DBconnectiondb=newDBconnection();Connectioncon=db.getConnection();booleanisfound=false;PreparedStatementpst;try{pst=con.prepareStatement(select*fromstudentwheresname=?andpassword=?);pst.setString(1,sname);pst.setString(2,password);ResultSetrs=pst.executeQuery();if(rs.next())isfound=true;}catch(SQLExceptione){e.printStackTrace();}System.out.println(isfound);returnisfound;}publicstaticvoidmain(String[]args){newStudentDao();}}}(2)TeacherDao类:此类中有一个方法:queryTeacher,作用是控制教师登陆queryTeacher()方法中,有两个参数,分别传给select语句中的tname(教师姓名)和password(登陆密码),利用select语句在teacher表中检索教师登陆信息。若存在此信息,返回true,否则返回falseTeacherDao类源代码:packageDao;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importconnection.DBconnection;publicclassTeacherDao{publicbooleanTeacherlogin(Stringtname,Stringpassword){DBconnectiondb=newDBconnection();Connectioncon=db.getConnection();booleanisfound=false;PreparedStatementpst;try{pst=con.prepareStatement(select*fromteacherwheretname=?andpassword=?);pst.setString(1,tname);pst.setString(2,password);ResultSetrs=pst.executeQuery();if(rs.next())isfound=true;}catch(SQLExceptione){e.printStackTrace();}System.out.println(isfound);returnisfound;}}(3)InformationDao类:此类中有四个方法,queryInformation,addInformation,deleteInformation,updateInformation,queryInformation1,作用分别是为教师用户提供查询学生信息,添加信息,删除信息,更新信息;为学生用户提供查询本人信息功能,。queryInformation()方法中,有一个参数,传给select语句中的sname(学生姓名),利用select语句,查询学生信息表中的内容。若查询成功,则返回一个ArrayList类的对象lis(表格),否则,异常处理。addInformation()方法中,有五个参数,分别传给insert语句中的snum(学号),sname(学生姓名),phonumber(手机号码),
本文标题:Java课程设计――学生通讯录管理系统
链接地址:https://www.777doc.com/doc-3804124 .html