Java语言课程设计说明书.docx
- 文档编号:5651127
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:30
- 大小:414.95KB
Java语言课程设计说明书.docx
《Java语言课程设计说明书.docx》由会员分享,可在线阅读,更多相关《Java语言课程设计说明书.docx(30页珍藏版)》请在冰点文库上搜索。
Java语言课程设计说明书
学号1407070229
Java语言程序设计课程设计
课程设计说明书
天津城建大学
教学改革项目管理信息系统
起止日期:
2016年1月4日至2016年1月10日
学生姓名
赵文豪
班级
软件2班
成绩
指导教师(签字)
计算机与信息工程学院软件工程系
年月日
1、需求分析
程序的功能:
系统注册:
用id和密码注册;
系统登陆:
用已注册的id和密码来登录;
录入项目信息:
在主界面的面板上显示所有已添加的项目信息,而且项目信息不允许重复,判断关键字为学号;
添加项目信息:
在已有的项目记录里添加新的项目信息。
点击主界面的添加按钮,跳到添加界面,用户从键盘输入项目信息,完成后点击确定添加按钮,显示“添加成功”字样,系统将信息添加到数据库表格中,并通过Vector在主面板上显示。
删除项目记录:
在已有项目记录中删除,用户从键盘输入要删除的id,成功删除后更新到表中。
修改项目记录:
在已有记录中修改某一个项目的记录,输入要修改的id,判断记录中是否存在该id,若存在,显示修改界面供用户修改。
查询项目记录:
包括按id查询和按项目类型查询。
在指定位置输入所需查询id,点击“按id查询”,面板上显示所查询的信息;或者选择所需查询的项目类型,点击“按类型查询”,面板上显示信息;
退出系统:
点击“退出”按钮,退出系统;
输入输出的要求:
注册登录添加等各种操作时输入的id,密码,项目记录信息都为String类型。
测试数据:
注册成功后点击到相应登陆页面,按提示输入已注册的id,提示登陆成功后自动跳转main系统页面,按提示选择所需增、删、改、查各种功能,所需信息会显示在main的主面板上。
2、概要设计
注册并成功登陆系统后,出现项目管理信息界面,主面板显示所有已有项目信息,可以对教学改革的各种项目信息进行增加,删除,修改,查询,进入相应界面进行信息管理,完成后退出系统界面。
3、详细设计
3.1.创建Teacher类,User类,设置变量及对应方法
publicclassTeacher{
privateStringtitle;
privateStringdate;
privateStringtype;
privateStringmoney;
privateStringtime;
GetterandSetter并创建构造函数;}
publicclassUsers{
publicintid;
privateStringpassword;
GetterandSetter并创建构造函数;}
3.2.Teacher管理类TeacherDao,创建对应方法,实现对Teacher对象的操作(显示主面板统计所有项目信息、增、删、改、查等功能)供view包里的对象调用。
User管理类UserDao及对应方法,创建注册界面对象操作的方法,供view包里的Login类使用。
3.3util包里的DBCon类,用来连接关闭数据库
publicclassDBCon{
publicstaticConnectiongetCon()
{
Connectioncon=null;
try{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:
mysql:
//localhost:
3306/test","root","admin");
}catch(ClassNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returncon;}
3.4.View包里创建AddTea,Delect,Login,Regist,Update类,实现注册界面,登陆界面和所有对项目信息,使用者信息管理的界面,同时创建Main对象,调用方法,实现项目所有基本内容管理。
3.5添加项目:
选择用鼠标控制按钮“添加”,从Main里选择“添加”项目,获得对象,进入添加界面按要求输入信息,项目类型、结题时间从下拉菜单中选择,添加完毕后用集合Vector同步到Main的面板上。
3.6删除项目:
在已有项目记录中删除,要求用户从键盘输入要删除的id,遍历表格是否有输入id的项目信息,如果存在则自动删除,没有则提示删除失败,成功删除后更新到表中。
3.7修改项目:
传递对象到修改方法,要求用户输入要修改的id,遍历记录中是否存在该id,若存在,显示修改界面供用户修改。
修改成功后获得对象,使用Vector同步到主面板上。
3.8查询项目记录:
包括按id查询和按项目类型查询。
在指定位置输入所需查询id,点击“按id查询”,面板上显示所查询的信息;或者选择所需查询的项目类型,点击“按类型查询”,面板上显示信息;
3.9退出系统:
使用System.exit(0);
4、调试分析
4.1.Stringsql="select*fromteacherwhereid=?
name1=?
teacher=?
title=?
date1=?
type=?
money=?
time=?
";
Stringsql="updateteachersetname1=?
teacher=?
title=?
date1=?
type=?
money=?
time=?
whereid=?
";
Stringsql="deletefromteacherwhereid=?
";
Stringsql="insertintoteacher(id,name1,teacher,title,date1,type,money,time)value(?
?
?
?
?
?
?
?
)";
一定要写对,不然运行时会出现很多错误
4.2数据的增删改查操作,实现数据库连接,需要将有关的SQL语句传入,在实现完有关项目信息的操作之后要关闭数据库操作;
4.3在得到所有的数据这一操作中,用到了集合类Vector,将数据添加到集合Vector中实现对信息的浏览;
4.4PreparedStatement在实现数据的过程中,需要用?
占据位置,之后在对其依次赋值,PreparedStatement可实现对部分数据的传值
5.核心源程序清单和执行结果
//类TeacherDao
publicclassTeacherDao{
//增加
publicintaddTea(Teacherteacher){
Connectioncon=DBCon.getCon();
Stringsql="insertintoteacher(id,name1,teacher,title,date1,type,money,time)value(?
?
?
?
?
?
?
?
)";
intcount=0;
PreparedStatementprest=null;
Statementst=null;
ResultSetrs=null;
try{
prest=con.prepareStatement(sql);
prest.setString(1,teacher.getId());
prest.setString(2,teacher.getName());
prest.setString(3,teacher.getTeacher());
prest.setString(4,teacher.getTitle());
prest.setString(5,teacher.getDate());
prest.setString(6,teacher.getType());
prest.setString(7,teacher.getMoney());
prest.setString(8,teacher.getTime());
count=prest.executeUpdate();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
DBCon.Close(st,con,rs);
returncount;
}
//删除
//id,name,teacher,title,date,type,money,time
publicstaticintDelect(Teacherteacher1)
{
Connectioncon=DBCon.getCon();
Stringsql="deletefromteacherwhereid=?
";
PreparedStatementprest=null;
intcount=0;
try{
prest=con.prepareStatement(sql);
prest.setString(1,teacher1.getId());
count=prest.executeUpdate();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
DBCon.Close(prest,con);
returncount;
}
//修改
//id,name,teacher,title,date,type,money,time
publicintupdateTeacher(Teachert,Stringid){
//TODOAuto-generatedmethodstub
Connectioncon=DBCon.getCon();
Stringsql="updateteachersetname1=?
teacher=?
title=?
date1=?
type=?
money=?
time=?
whereid=?
";
PreparedStatementprest=null;
intcount=0;
try{
prest=con.prepareStatement(sql);
prest.setString(1,t.getName());
prest.setString(2,t.getTeacher());
prest.setString(3,t.getTitle());
prest.setString(4,t.getDate());
prest.setString(5,t.getType());
prest.setString(6,t.getMoney());
prest.setString(7,t.getTime());
prest.setString(8,t.getId());
count=prest.executeUpdate();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally
{
DBCon.Close(prest,con);
}
returncount;
}
//通过id查询信息
//id,name,teacher,title,date,type,money,time
publicVectorgetAllTea2(Stringid){
Vectorv=newVector();
Connectioncon=DBCon.getCon();
PreparedStatementprest=null;
ResultSetrs=null;
Stringsql="select*fromteacherwhereid=?
";
try{
prest=con.prepareStatement(sql);
prest.setString(1,id);
rs=prest.executeQuery();
while(rs.next()){
Vector
v1.add(rs.getString
(1));
v1.add(rs.getString
(2));
v1.add(rs.getString(3));
v1.add(rs.getString(4));
v1.add(rs.getString(5));
v1.add(rs.getString(6));
v1.add(rs.getString(7));
v1.add(rs.getString(8));
v.add(v1);
}
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnv;
}
//通过类型查找信息
publicVectorfindkind(Stringtype)
{
Vectorv=newVector();
Connectioncon=DBCon.getCon();
Stringsql="select*fromteacherwheretype=?
";
PreparedStatementprest=null;
ResultSetrs=null;
try{
prest=con.prepareStatement(sql);
prest.setString(1,type);
rs=prest.executeQuery();
while(rs.next())
{
Vector
v1.add(String.valueOf(rs.getInt
(1)));
v1.add(rs.getString
(2));
v1.add(rs.getString(3));
v1.add(rs.getString(4));
v1.add(rs.getString(5));
v1.add(rs.getString(6));
v1.add(rs.getString(7));
v1.add(rs.getString(8));
v.add(v1);
}
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
DBCon.close(con,prest,rs);
returnv;
}
//遍历所有信息
publicVectorfindall(){
//TODOAuto-generatedmethodstub
Vectorv=newVector();
Connectioncon=DBCon.getCon();
Stringsql="select*fromteacher";
PreparedStatementprest=null;
ResultSetrs=null;
try{
prest=con.prepareStatement(sql);
rs=prest.executeQuery();
while(rs.next())
{
Vector
vc.add(rs.getString
(1));
vc.add(rs.getString
(2));
vc.add(rs.getString(3));
vc.add(rs.getString(4));
vc.add(rs.getString(5));
vc.add(rs.getString(6));
vc.add(rs.getString(7));
vc.add(rs.getString(8));
v.add(vc);
}
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
DBCon.close(con,prest,rs);
returnv;
}
}
//类DBCon
publicclassDBCon{
publicstaticConnectiongetCon()
{
Connectioncon=null;
try{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:
mysql:
//localhost:
3306/test","root","admin");
}catch(ClassNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returncon;}
publicstaticvoidClose(Statementst,Connectioncon,ResultSetrs){
//TODOAuto-generatedmethodstub
if(rs!
=null)
{
try{
rs.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
if(st!
=null)
{
try{
st.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
if(con!
=null)
{
try{
con.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
publicstaticvoidclose(Connectioncon,PreparedStatementprest){
//TODOAuto-generatedmethodstub
if(prest!
=null)
{
try{
prest.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
if(con!
=null)
{
try{
con.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
publicstaticvoidclose(Connectioncon,PreparedStatementprest,ResultSetrs)
{
try{
if(rs!
=null)
{
rs.close();
}
if(prest!
=null)
{
prest.close();
}
if(con!
=null)
{
con.close();
}
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
publicstaticvoidClose(PreparedStatementprest,Connectioncon){
//TODOAuto-generatedmethodstub
if(prest!
=null)
{
try{
prest.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
if(con!
=null)
{
try{
con.close();
}catch(SQLExceptione){
//
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言 课程设计 说明书